現在、不定期ですが大人向けにAI(人工知能)、特にディープラーニング、ニューラルネットワーク(NN)を題材としたプログラミング授業を進めています。
昨日の授業は、手書き文字(0-9)認識用の2層NNの学習機能についてでしたが、動かした結果を見て「こんなに簡単なプログラムで、コンピュータが学習できちゃうんですか?」という質問が出ました。
実際にソースコードを読んだうえで動かし、コンピュータが賢くなっていく結果が出てくると、このように感じるのも無理はないと思います。まだ誤差逆伝播法に入っていませんが、ディープラーニング、NNの本質的な理屈の部分は、これまでの授業で理解して頂いている状態です。
Pythonだと行列計算がシンプルな形で記述できるので、ディープラーニング、NN専用のライブラリを利用しなくても、本質的な部分だけなら意外とすっきりした形で表現できます。(実利用となると話は別ですが)ディープラーニング、NNも本質的なところはこんなにシンプルなんだ、ということが理解してもらえて良かったと思います。
AIってこんなものなんだ、と感じてもらえる人を、老若男女問わず、もっと増やしたいですね。