AIブーム、ますます加熱してますね。ChatGPTなどのAIサービスを使っている人も多いと思いますが、エンジニアとしては使うだけでなく、中身とか原理も知りたいですよね?そういうエンジニアのために、AIが学習するしくみを簡単に説明します。理論だけでなくコードを添えて、より具体的に想像できるように書きたいと思います。 なおここで「AI」はニューラルネットワーク(以下NN)を使った機能を指すこととします。想定する読者は、プログラミングの基礎知識を持っているけれども機械学習ライブラリは使ったことがない人です。 AIサービスの大雑把な中身 チャットや画像生成など、AIを使った様々なサービスが登場していますが、多くのサービスは複数のNNを組み合わせた構造になっています。NNについては下で詳しく説明しますが、入力に対して出力を生成するシステムであり、一種の関数のように振る舞います。それを組み合わせるので