そろそろAI自作してみない?【作って理解するディープラーニング#0】

そろそろAI自作してみない?【作って理解するディープラーニング#0】

こんにちはえびかずきです!

ディープラーニングを基礎から理解したい方向けに、今週から連載を始めることにしました。

2020/1/8(土)から毎週土曜日19:00に更新予定です。
全10回くらいにしようかと思っています。

・ディープラーニングでAI作りを始めてみたい方
・使ってはいるけど中身はよく分かっていないという方

是非、チェックしていただければと思います!

得られるスキル

・ディープラーニングの仕組みを人に説明できるようになる

・Pythonによる実装ができるようになる

連載予定

第1回:python環境を作ろう
第2回:パーセプトロンを作ろう
第3回:活性化関数を作ろう
第4回:ニューラルネットワークを作ろう
第5回:勾配法を実装しよう
第6回:誤差逆伝播法を実装しよう
第7回:最適化のテクニックを学ぼう
第8回:過学習を回避しよう
第9回:畳み込みニューラルネット(CNN)で画像識別をしよう
第10回:リカレントニューラルネット(RNN)で翻訳AIを自作する
and more…?

あると望ましい基礎知識

・行列演算の知識
・微分の知識
・基本的なプログラミングの知識

理論は極力噛み砕いてわかりやすく説明しようと思っていますが、
ある程度数学とプログラミングの素養があると理解が進みやすいです。

ややこしい所にはなるべく注釈をつけて、

中学生でも理解できるくらいのレベルで説明していこうと思います。

学習に必要なもの

・PC(Mac or Windows or Linux)

ソースコードを提供しながら理論を追う形で考えているので、PCが必須になります。

pythonの導入については次回以降の記事内で説明します。

筆者のレベル

名前:えびかずき
職業:製造業で働く化工系エンジニア
(データ解析でディープラーニングを使用)
趣味:機械学習開発/数学
開発環境:Python3/tensorflow

2013年将棋AI-ponanzaが現役プロ棋士に勝利、2015年囲碁AI-アルファGoがプロ棋士に勝利という出来事をリアルタイムで知り、機械学習に大いなる可能性を感じて趣味で学習を開発を開始。

当ブログでも機械学習関連の記事をいくつか執筆。

趣味で機械学習開発を学んできたことが高じて、最近は本業の化工エンジニア業でもディープラーニングを活用し始めました。

主にTensorflowを使用して開発を進めています。

ディープラーニングって何?

この第0回の記事では、まずディープラーニングとはどんなものなのかざっくりと説明しておこうと思います。

ディープラーニングとは

ディープラーニング(深層学習)とは、深い層構造で構築されたニューラルネットワークをによる機械学習のことを言います。

ニューラルネットワークとは

ニューラルネットワークとは、ある重みと特定の活性化関数とによって、情報をつなぎ合わせたネットワークのことで、ある入力に対してある出力を吐き出す関数になっています。

これは刺激を受けたニューロンがシナプスを介して別のニューロンへ情報を送るという人間の脳内ネットワークを模倣した形となっています。

ニューロンに情報が入出力する様子

ニューラルネットを構成する重みを最適化して適切な出力を出すように学習させることで、いわゆるAI(人工知能)として機能することとなります。

たとえば、画像を文字として識別するAI(入力/出力:画像/分類結果)や、人間と会話するスマートスピーカー(入力/出力:質問の音声/回答の音声)などが例として挙げられます。

下図は画像をアルファベットとして認識するためのニューラルネットワークの例を図示しています。

ニューラルネットの例

ニューラルネットワークに入力データとして画像が取り込まれ、中間層でのその情報が処理されて各アルファベット(27種)の確率として文字が認識されています。

なぜ最近注目され始めたのか?

実はこのニューラルネットワークの原型となるパーセプトロンという概念が古くから提唱されていて、アイディアとしては目新しいというわけではありません。

ではなぜ最近になってディープラーニングが話題になっているのでしょうか?

その理由は以下の2点です。

・PCの性能が向上したため
・インターネットによるビッグデータの収集が容易になったため

ディープラーニングでの重み最適化のためには、膨大な量の行列演算が必要になる場合が多く、当時のマシン性能ではディープラーニングのポテンシャルを引き出すことが出来なかったということが挙げられます。

加えて、一般に学習用のデータは多ければ多いほど良いですが、近年インターネットによる通信技術が発達してビッグデータの収集が容易になりました。

そのためディープラーニングが本領を発揮し、第3次AIブームとして我々の前にその姿を表し始めたのです。

ディープラーニングの今後の展望

Society 5.0 内閣府HP

内閣府は2016年に「Society5.0」という科学技術の発展に伴う新しい未来社会像を発表し、この実現に向けた取組みを進めています。

Society5.0はサイバー空間と現実空間とが高度に融合した社会像であり、具体的にはモノとインターネットが繋がったIoT、人間をアシストするAIの発展が期待されています。

こういった社会像が描かれる背景にはやはりディープラーニングによるAI技術のブレイクスルーが大きな影響を及ぼしていると考えられます。

そして国としてもAI技術のさらなる発展に期待を寄せています。

さらに、2020年1月23日に第48回総合科学技術・イノベーション会議にて決定されたムーンショット目標には、

目標1:2050年までに、人が身体、脳、空間、時間の制約から解放された社会を実現
目標2:2050年までに、超早期に疾患の予測・予防をすることができる社会を実現
目標3:2050年までに、AIとロボットの共進化により、自ら学習・行動し人と共生するロボットを実現
目標4:2050年までに、地球環境再生に向けた持続可能な資源循環を実現
目標5:2050年までに、未利用の生物機能等のフル活用により、地球規模でムリ・ムダのない持続的な食料供給産業を創出
目標6:2050年までに、経済・産業・安全保障を飛躍的に発展させる誤り耐性型汎用量子コンピュータを実現

内閣府HP https://www8.cao.go.jp/cstp/stmain/20200123moonshot.html

このような5つの目標が制定されています。

目標2にはAIという文字がはっきりと使われていて、ディープラーニングのさらなる発展により、人間のように振る舞える真の意味でのAIの開発が目標となっています。

また、目標6の量子コンピュータも実はディープラーニングと密接な関係があるます。

量子コンピュータによる計算速度の飛躍的な向上がディープラーニングでのこれまでにできなかった圧倒的な量の行列演算を可能にするのです。

こういった政府の動きを見るとやはり、ディープラーニングがいかに期待されているかということが読み取れます。

さあ学習を始めよう!

今後さらにディープラーニングによるAI技術が我々の生活に入り込んでくるであろうことを考えると、その技術を学んでおいて損はないでしょう。

「名前だけはよく聞くけど、結局のところどんな技術なの?」という方も多いはず。

さあ、学習を始めて周りから一歩リードしましょう。

今回はここまで!来週の更新に乞うご期待。

参考資料

・ムーンショット目標(内閣府HP)

・Society5.0(内閣府HP)

機械学習カテゴリの最新記事