🤖

エンジニアのためのAIの基本 Part1

2025/03/11に公開

はじめに

はじめまして、株式会社バニッシュ・スタンダードでエンジニアをやっているkzzzmです。

ChatGPTの新バージョンだったり、最近話題のDeepSeekショックだったりとAIに関する話題は多いかと思います。
なので今回は「エンジニアのためのAIの基本」というタイトルで記事を書いていこうと思います。
僕もエンジニアでありながら、正直AIの技術はあまり分かっていないので学びながらです。
(誤った情報などありましたら申し訳ございません。その際はコメント欄にて指摘いただけると嬉しいです!)

今回はPart1です!

人工知能の全体像

まずAI(AI: Artificial Intelligence)とは、コンピュータが人間の知的な作業を模倣・実行できるようにする技術の総称です。

AIの基本構造

AIの全体像を理解するために、以下の4つの主要な構成要素が紹介されています。

  • ハードウェア(GPU, FPGA, ASIC)
  • 機械学習ライブラリ(フレームワーク)
  • AIプラットフォーム
  • AIアプリケーション

これらの技術が組み合わさることで、AIが実用化され、さまざまな分野で活用されています。

ハードウェアとサーバ技術

  • AI処理の高速化には、専用のハードウェアが必要。
  • GPU(NVIDIA, AMD):並列計算能力が高く、ディープラーニングの訓練に最適。
  • FPGA(Intel, Xilinx):用途に応じてプログラム可能で、AI向けの計算処理を高速化。
  • ASIC(Google TPU, Apple Neural Engine):特定用途向けに最適化されたAI計算チップ。

これらのハードウェアは、クラウド上で動作することが多く、Google Cloud, Amazon AWS, Microsoft Azureなどが提供するAIクラウドプラットフォームと連携して利用されます。

機械学習ライブラリ(フレームワーク)

機械学習やディープラーニングのモデルを開発するためのソフトウェアツール。
代表的なフレームワーク

  • TensorFlow(Google)
  • PyTorch(Facebook)
  • MXNet(Amazon)
  • Scikit-learn(機械学習向けのPythonライブラリ)
  • JAX(Google)
  • Keras(Google)

これらのライブラリを利用することで、AIモデルの学習や推論を容易に実行できる。
また多くがオープンソースで無償提供されており、我々エンジニアが手軽に利用してディープラーニング学習モデルを作成することが出来る。

AIプラットフォーム

AIプラットフォームは、AIの学習・推論を簡単に実行できる統合環境を提供。

  • Google Cloud AI
  • Amazon SageMaker
  • Microsoft Azure AI
  • IBM Watson AI
  • Oracle AI

これらのプラットフォームを活用することで、専門知識がなくてもAIをビジネスに導入できるようになっている。

AIアプリケーション

自動運転

  • テスラのオートパイロット
  • Waymoの自動運転タクシー
  • AIの画像認識と強化学習を活用し、安全な自動運転技術が進化。

医療AI

  • 診断支援AI(IBM Watson Health, DeepMind)
  • 創薬AI(Atomwise, BenevolentAI)
  • AIが医療画像を解析し、がん検出や疾患診断を支援。

金融

  • 不正取引検出(Mastercard, Visa)
  • AIによる投資分析(Robo-Advisors)
  • AIがリアルタイムでデータを分析し、不正行為の検出や投資戦略の最適化を行う。

顧客対応

  • チャットボット(Alexa, Google Assistant, IBM Watson Assistant)
  • カスタマーサポートの自動化(Zendesk AI, Freshdesk AI)
  • AIがユーザーと対話し、質問応答やタスクを処理。

我々一般エンジニアの主戦場はハードウェアやライブラリ、AIプラットフォームを作ることではなく、それらを使いこなしてユーザーニーズを満たすアプリケーションを作ることにあると思います。

機械学習とディープラーニングの違いについて

機械学習

機械学習とはコンピューターに学習させて人間と同じように認識・判断を行わせる人工知能の手法の1つです。
機械学習は 「学習処理」「判定処理」 の2つの手順で行われます。

学習処理

  • データを用いてアルゴリズムを訓練し、パターンを学習。
  • モデルがデータの特徴を理解し、予測能力を向上させる。

判定処理

  • 学習したモデルを用いて、新しいデータを分類・予測。
  • 例えば、花の画像を学習させると、未知の花の種類を正しく分類できるようになる。

ミニバッチ学習

機械学習では、データを一度に学習させるのではなく、小さなバッチサイズ(ミニバッチ)に分けて反復学習を行う。

  • 例:9000枚のデータを200回に分けて学習(エポック単位で繰り返し)。
  • 筋トレのような学習プロセスで、徐々に精度を向上させる。
  1. 勾配降下法
    誤差を最小限に抑えるための手法で、モデルのパラメータ(重み)を調整して精度を向上させる。

  2. ホールドアウト法
    データの一部を訓練用、残りをテスト用に分けて、過学習を防ぐ。

ニューラルネットワークとディープラーニング

ニューラルネットワークの構造

ニューラルネットワークは、人間の脳のニューロンの仕組みを模倣したAIのアルゴリズム。

  • 入力層(Input Layer):データを受け取る層
  • 隠れ層(Hidden Layer):データの特徴を抽出する層
  • 出力層(Output Layer):分類や予測を行う層
  1. シグモイドニューロン
  • ニューラルネットワークにおける基本的な計算単位。
  • 各入力値には重み(weight)が割り当てられ、バイアス(bias)によって最適な判断が下される。
  1. 多層パーセプトロン
  • 隠れ層を増やすことで学習精度を向上させる手法。
  • ディープラーニングの基盤となる概念。

誤差逆伝播(Backpropagation)

ニューラルネットワークの学習を向上させるための手法。

  • モデルの出力誤差を逆伝播させて、重みを調整。
  • 例:「価格が高い」ことが誤った要因なら、その影響を減らすように調整。

機械学習とディープラーニングの違い

機械学習とディープラーニングの違いを説明する3つの定義。

  • ディープラーニングは機械学習の一部である
  • ディープラーニングは隠れ層が多層化している
  • 機械学習はルールベース、ディープラーニングはブラックボックス (下記にて解説)

機械学習(ルールベース)

機械学習は、あらかじめ設定されたルールや数学的なアルゴリズムに基づいてデータを解析し、パターンを見つけて予測や分類を行う手法です。主に統計的手法や決定木などの明確なルールに基づいたアルゴリズムを使用します。

  1. 代表的な機械学習アルゴリズム
    機械学習のアルゴリズムは、問題の種類によって適用される手法が異なります。
    ①教師あり学習(Supervised Learning)
    データに正解ラベルを付与し、モデルが正しいパターンを学習する手法。

    • ベイズ回帰(Bayesian Regression):確率的な予測を行う回帰モデル。
    • サポートベクターマシン(SVM, Support Vector Machine):データを高次元空間にマッピングし、分類を行う手法。
    • ランダムフォレスト(Random Forest):多数の決定木(Decision Trees)を組み合わせた予測モデル。

    ② 教師なし学習(Unsupervised Learning)
    データに正解ラベルを与えず、データの内部構造を分析する手法。

    • クラスタリング(Clustering):データを似たグループに分類する(例:K-meansクラスタリング)。
    • 主成分分析(PCA, Principal Component Analysis):データの次元削減を行い、情報を要約する。

    ③ 強化学習(Reinforcement Learning)
    エージェント(AI)が環境との相互作用を通じて最適な行動を学習する手法。

    • Q学習(Q-learning):試行錯誤によって報酬を最大化する行動を学習。
  2. 機械学習の特徴

  • 特徴量を人間が設計:モデルの学習には、適切な特徴量(Feature)の設計が重要。
  • 解釈性が高い:なぜその予測結果になったのかを説明しやすい。
  • 小規模なデータでも利用可能:少量のデータでも比較的高精度な予測が可能。

ディープラーニング(ブラックボックス)

ディープラーニングは、機械学習の一種ですが、ニューラルネットワークを活用することで、データから特徴を自動抽出し、高度なパターン認識を行う技術です。

  1. ディープラーニングの基本構造
    ディープラーニングは、多層の ニューラルネットワーク(Deep Neural Network, DNN) を使用します。
    ニューラルネットワークの基本構成:

    • 入力層(Input Layer):データを受け取る層。
    • 隠れ層(Hidden Layer):データの特徴を学習し、抽象化する層(多層化される)。
    • 出力層(Output Layer):最終的な予測結果を出力する層。
  2. 代表的なディープラーニング手法
    ディープラーニングには、タスクに応じたさまざまなモデルがあります。

    ① 畳み込みニューラルネットワーク(CNN, Convolutional Neural Network)

    • 画像認識や映像処理に特化したネットワーク。
      • 例:物体検出(YOLO, Faster R-CNN)、顔認識(FaceNet)。

    ② 再帰型ニューラルネットワーク(RNN, Recurrent Neural Network)

    • 時系列データや自然言語処理(NLP)に適用される。
      • 例:翻訳(Google Translate)、音声認識(DeepSpeech)。

    ③ 生成モデル(GAN, Generative Adversarial Network)

    • 画像生成やデータ拡張に活用される。
      • 例:AIによる画像合成(DALL·E)、フェイク動画生成(DeepFake)。

    ④ 強化学習に基づくディープラーニング(DQN, Deep Q-Network)

    • AIが試行錯誤を通じて最適な行動を学習する。
      • 例:囲碁AI(AlphaGo)、自動運転(Waymo)。
  3. ディープラーニングの特徴

  • 特徴量の自動抽出:人間が設計せずとも、モデルがデータから重要な特徴を学習。
  • 高精度な予測:大量のデータを活用することで、人間を超える判断精度を実現。
  • ブラックボックス問題:学習過程が複雑で、なぜその結果になったのかを説明しにくい。

機械学習とディープラーニングの適用範囲

項目 機械学習(ルールベース) ディープラーニング(ブラックボックス)
データ量 少量のデータでも学習可能 大量のデータが必要
特徴量設計 人間が特徴を設計する AIが自動で特徴を抽出
計算コスト 低い(CPUで処理可能) 高い(GPU/TPUが必要)
解釈性 高い(説明可能) 低い(ブラックボックス)
適用分野 金融、医療、マーケティング 画像認識、自然言語処理、自動運転

まとめ

いかがでしたかね?
聞き馴染みのない言葉が多くて大変ですが、AIに対する知見はこれから増やしていきたいですね。

最後に

弊社「株式会社バニッシュ・スタンダード」では、現在エンジニアおよびデザイナーを積極的に募集しています。

私も、幅広い技術領域に携わることができ、日々充実した仕事ができています。
技術レベルの高いエンジニアが多く、成長意欲のある方には特におすすめです。
また、みんなが仕事に対して責任感を持ち、親切な人ばかりなので、非常に働きやすい環境です。

少しでも興味を持たれた方は、ご応募をお待ちしています。

https://recruit.v-standard.com/

株式会社バニッシュ・スタンダード

Discussion