##はじめに
最近はいたるところでAIというワードをよく耳にします。AIスピーカーを始め、AIを搭載した家電もよく見かけます。でも、実はAIってよくわかってないし、機械学習やディープラーニングなんて更にわからないです。なので、ここらでAIについてしっかり学んでみたいと思います。そして、せっかくなのでAIエンジニアを目指します。
この記事では、AI、中でもディープラーニングについての学習の過程やポイントを残していきたいと思います。少しでもみなさんの参考になれば幸いです。
##この記事の対象者
・これからディープラーニングの学習を始める方
・G検定の合格を目指す方
・E資格の合格を目指す方
##学習計画
- AIの概要を理解する
- JDLA「G検定」に合格する(2019/3/14、見事合格!!)
- 機械学習を斜め読みする(ニューラルネットワークに絞る)
- Deep Learningを身につける
- 実際にAIで何か実装してみる
- JDLA「E資格」に合格する(2021/2/20、見事合格!!)
※学習計画立案の参考サイト
⇒【保存版・初心者向け】僕が本気でオススメするPythonと機械学習の良書12選
⇒【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法
⇒ 人工知能(AI)を独学で学ぶ方法をステップ別に紹介します
##学習用環境の構築(Windows10/VirtualBox/Ubuntu/Docker)
AIはライブラリが豊富なPythonで構築するのが一般的なのだそうですが、私はWindows10しか持っていないので、VirtualBoxでLinuxの仮想環境を構築してみます。当初はVagrant/Dockerも一緒に入れる予定でしたが、試しに全部入れたら訳がわからなくなったので、まずは最小構成とし、理解してから次に進みます。最小構成(VirtualBox+Ubuntu)のインストール手順はこちらを参考にしています。
##読書環境の準備
通勤時も読書ができるよう、こちらのタブレットを購入しました。10インチのAndroidタブレットはコスパ最強、お勧めです!
##1. AIの概要を理解する
概要理解の為、まずは以下の書籍を読み進めました。AIの歴史や現状、各用語の説明があるので、学習の初めに読むと良いです。勉強というよりは、小説のように読めます。
[]
(https://hb.afl.rakuten.co.jp/hgc/1989f60a.663e6bf1.1989f60b.493a8850/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F13140638%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F17334949%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjB9)
以下の書籍も読んでみました。技術者よりは管理者や経営者向けに感じますが、AIを取り巻く状況を俯瞰することができます。
##2. JDLA「G検定」に合格する
G検定の合格に向けて、以下の書籍を読み進めます。内容のおよそ半分は書籍「人工知能は人間を超えるか」と重複する印象ですが、知識を体系化する助けになりお薦めです。
[]
(https://hb.afl.rakuten.co.jp/hgc/1989f60a.663e6bf1.1989f60b.493a8850/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F15618087%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F19303728%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjB9)
その他、G検定対策としては以下の問題集に取り組みました。
[]
(https://hb.afl.rakuten.co.jp/hgc/1989f60a.663e6bf1.1989f60b.493a8850/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F15773926%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F19457288%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjB9)
更に更に、検定当日に以下のサイトの模擬試験に取り組みました。実際の検定と似た問題が掲載されており、とても助けられました!(2019/3/14、見事合格!!)
Study-AI
##3. 機械学習を斜め読みする(ニューラルネットワークに絞る)
以下の書籍を読み進めます。Pythonとsikit-learnに焦点を絞った入門書です。私の場合は本当に斜め読み程度しかしませんでしたが、Pythonや機械学習もしっかり勉強したい方は良く読んでみてください。
[]
(https://hb.afl.rakuten.co.jp/hgc/1989f60a.663e6bf1.1989f60b.493a8850/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F14919364%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F18584469%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjB9)
あわせて、以下の書籍も読み進めてみました。内容は、scikit-learnによるサポートベクターマシン、ニューラルネットワークと、keras/Teanoによるディープラーニングの実践が主なテーマでした。実際の物作りを通して知識を習得したい人にお薦めです。
[]
(https://hb.afl.rakuten.co.jp/hgc/1989f60a.663e6bf1.1989f60b.493a8850/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F15365628%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F19019802%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjB9)
この書籍から派生して、勉強がてら顔認証の仕組みを作ってみました。
##4. Deep Learningを身につける
以下の書籍を読み進めます。ディープラーニングの学習書籍では有名で、ニューラルネットワークの仕組みをTensorflowなどのフレームワークを使わず「ゼロ(Python)」から学べます。後半ではCNNの実装もあります。
<E資格貢献度:★★★★★>
[]
(https://hb.afl.rakuten.co.jp/hgc/1989f60a.663e6bf1.1989f60b.493a8850/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F14424645%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F18172266%2F&link_type=hybrid_url&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjB9)
以下の書籍は、上述の「ゼロから作るDeep Learning」の第二弾です。第一弾ではCNNを実装しましたが、こちらの書籍ではRNNを実装します。
<E資格貢献度:★★★★☆>
「ゼロから作る」シリーズを読んだので自信満々に着手したのがこちら。GANの発案者で有名なイアン・グッドフェローさんの書籍です。E資格を受験する上でも大変参考になるらしいのですが、この時点での私には難解極まりない内容でした。何が難解かというと数式を中心とした内容だったことです。※一旦、放置!
<E資格貢献度:★★★★☆>
「深層学習」を一旦放置し、着手したのがこちら。kerasの作成者が著者であるこの書籍、大変な良書でした。なにが良いかって、とても実践的でディープラーニングで必要な知識を具体的な作業手順に沿って理解することができました。「ゼロから作る」シリーズより前に読んでもいいですね。
##5. 実際に人工知能を実装してみる
####5.1. 作品
Raspberry PiカメラでDeepLearningによるリアルタイム顔認証
####5.2. 環境構築
Ubuntu16.04にCaffeをインストールする
Ubuntu16.04にCaffe2をインストールする
####5.3. 調査
Sony Neural Network Consoleで学習の途中出力結果を確認する
##6. JDLA「E資格」に合格する
E資格の合格に向けて、以下に取り組みます。
講座:Aidemy:2020/4/25~5/23、10/1~2021/2/19
独学:ゼロから作るDeep Learning:2020/4/29~2020/5/9
:ゼロから作るDeep Learning②:2020/10/3~2020/11/22
:深層学習:2020/11/23~2021/2/14
その他、以下の問題集を計4周しました。似た問題が試験でも出題され、かなりお薦めです。
<E資格貢献度:★★★★★>
※2021/2/20、見事合格!!
##※Linuxコマンドメモ
### rootのパスワード変更 ###
$ sudo passwd root
### オーナーの一括変更 ###
$ chown -R user[:group] 対象ディレクトリ
### 権限の一括変更 ###
$ find 対象ディレクトリ -type d -exec chmod 755 {} \;
$ find 対象ディレクトリ -type f -exec chmod 644 {} \;
### swapの作成&反映 ###
$ dd if=/dev/zero of=/swap bs=1M count=1024
$ mkswap /swap
$ swapon /swap