[レベル低め]機械学習・ディープラーニング入門者がG検定を受けてみた

# はじめに
この記事は入門者、初心者向けです。
さらに数式や難しい技術の話などは一切出さないつもりです。

そのため、エンジニアでこれから機械学習・ディープラーニングを学びたい人はもちろん、
G検定を目指す非エンジニアにも読んでいただける内容（読みやすい、読みにくい、得るものの有無に関わらずw）になっていると思っています。

AIって漠然としていて、しかも難しそうなイメージで、
何から手をつけたらいいのか考える時間が結構あったので、同じような境遇の方々の力に少しでもなれればと。

# 筆者スペック
* エンジニア歴7年
 * SI企業5年、ベンチャー界隈2年ほどのOSS系のWEB開発を中心に幅広くフルスタックに
 * 現在スタートアップ企業のWEBエンジニア(非AI系)
* AI歴0年
 * AI？あ、あのそこそこ美味しそうなやつね。
 * 機械学習？なんか記事で何回か読んだことある。
 * ディープラーニング？ググったことある。機械学習の一種でしょ？

AIについては上記くらいのエンジニアとして少しググったことある程度なので、ほぼ知識なし。AI弱者ってやつです。

# とりあえずG検定を受けてみた
4回目にあたる[JDLA Deep Learning for GENERAL 2019 #1](https://www.jdla.org/business/certificate/)　を受験しました。

受ける人によっても色々目的があると思いますが、自分は

* AI知識で認定レベルの基礎はどのくらいの物なのか知る
* AI知識学習の難しさを知る

の２つに絞って受験勉強を行なって受験しました。
結果はまだ出ていませんが、取得することが目的ではないので受かってても落ちてても(もちろんショックではあるが)あまり気にしません。

ホームページから引用すると

概要：ディープラーニングを事業に活かすための知識を有しているかを検定する
受験資格：制限なし
試験概要：120分、小問226の知識問題（多肢選択式）、オンライン実施（自宅受験）

などなどの試験です。
そのために参考図書が掲載されていて、それを読み進めることで試験勉強とする人が大半ではないのでしょうか。

また、WEB試験で任意の場所で受験、なんでも参照OKなので、参考書みながら、ググりながら受けることができます。
しかし、ググるだけですぐわかるような問題はほとんどないので頭に入れて理解しておく必要があります。


# １、入門できたかわからないが、G検定前に入門編で行なった事

## 入門本と呼ばれるもので、数式がとにかくないor簡単なものを4~5冊読む

理想は書店に行って実際にモチベーションが保ちそうな本を選んだ方がいいです。
AI系の本は数式がびっしり書いてあったり、とにかく分厚かったり、(AI系にかぎらず)無機質な本が多い印象なので、実際に見て感じを掴んだ方がいいです。

自分は書店でゆっくり選ぶ時間がなかったので他人のレビューを読み漁って下記の4冊をとりあえず一気に購入しました。
一部時間の関係上無視していますが（もちろん後でやりますw）、学習した順番通りに書いています。

## [人工知能は人間を超えるか ディープラーニングの先にあるもの](https://www.amazon.co.jp/gp/product/4040800206/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1)


以前も、[ベンチャーエンジニアが最近読んだ本まとめ](https://qiita.com/m-hatano/items/3a3fd41904f51feb53d4)　でレビューを描きましたが

* ディープラーニング界隈で一番の有名人と言っても過言ではない松尾豊教授が執筆した本
* AIの現代までの歴史、取り巻く環境など
* 機械学習・ディープラーニングの仕組みの簡単な概要
* 松尾豊教授のディープラーニングにかける熱い想いを感じれる

などを広く浅く知ることができます。
1冊目にはこれしかないと思います。

## [~短期集中講座~ 土日でわかるPythonプログラミング教室 環境づくりからWebアプリが動くまでの2日間コース](https://www.amazon.co.jp/gp/product/4797388978/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1)

* pythonを簡単に学べる
* Docker, Git, Djyangoなどを使ってチャットボットwebアプリ作成
* MeCabとマルコフ連鎖を使える

ような本なので、
正直プログラマの人が読むとしたら物足りない内容なので他の本を読んだ方がいいです。

自分は割り切ってサンプルで書いてあるコードをひたすら解析して、同じようなチャットボットを作成しながらpythonに慣れる用途で使いました。

pythonやったことないのにいきなりAI系のフレームワーク使って機械学習のアルゴリズム実装するって結構ハードル高いと思うので
まずpythonで何か作って、「pythonはできるから次AIやろー」的なノリを作るために使いました。

## [やさしく学ぶ 機械学習を理解するための数学のきほん ~アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで](https://www.amazon.co.jp/gp/product/4839963525/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1)

* 機械学習で使う、回帰、ロジスティック回帰などの手法と数式の解説
* 復讐のために数式を読むための数学？を記載したページがある
* アヤノとミオの対話形式のため読みやすい
* 機械学習の数学を初学だとかなりムズイが、これよりもやさしく解説している本はなかなかなさそう

機械学習の初歩の初歩の数学を解説してくれています。
本の半ばくらいからpythonを使ってアルゴリズムを実装する章に入りますが、自分は後述するG検定にまず標準を定めていたので無視しましたww（もちろん後でやります）

## [初めてのTensorFlow 数式なしのディープラーニング](https://www.amazon.co.jp/gp/product/4865941053/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1)

* 冒頭の1/4くらいでディープラーニングの基礎を解説
* 残り3/4くらいでTFLearnを使っていろいろやれる
* 手書き文字画像のMNISTデータセットを使って、画像の分類問題
* RNNでの対話テキストの分類

などなどやってる感を出せる本です。
自分はG検定後にやろうかと思ってるので無視していますww（もちろん後でやります）

# ２、G検定

入門知識の獲得が済んだら、いよいよG検定の勉強です！！
自分は参考図書含め下記の本と模擬試験で学習しました。

## [人工知能は人間を超えるか ディープラーニングの先にあるもの](https://www.amazon.co.jp/gp/product/4040800206/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1)

上記で解説したので割愛。
たまたまG検定学習前に読んでいましたが、再度一読しました。

ここからは問題全体の2割くらいの出題で、機械学習・ディープラーニングのブームや歴史にフォーカスした問題が多かった印象です。

## [深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト](https://www.amazon.co.jp/gp/product/4798157554/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)

* 一般的なまとめテキスト
* シラバスの章に沿って解説+章末問題

第３回の直前に出版されたようです。
かなり浅く、全体に渡って解説されているので、G検定の勉強のみならず興味ある人は読むといいかもしれません。

## [AI白書 2019](https://www.amazon.co.jp/AI%E7%99%BD%E6%9B%B8-2019-%E7%8B%AC%E7%AB%8B%E8%A1%8C%E6%94%BF%E6%B3%95%E4%BA%BA%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8E%A8%E9%80%B2%E6%A9%9F%E6%A7%8B-AI%E7%99%BD%E6%9B%B8%E7%B7%A8%E9%9B%86%E5%A7%94%E5%93%A1%E4%BC%9A/dp/4049110148/ref=pd_bxgy_14_img_3/358-0192164-1105575?_encoding=UTF8&pd_rd_i=4049110148&pd_rd_r=e3be50b9-44c4-11e9-a1f2-2ffda33621c2&pd_rd_w=HehuO&pd_rd_wg=iRuXw&pf_rd_p=546a854e-3ca8-49c6-8e2f-dc88f5c2740e&pf_rd_r=VSWKZ7AMQHWTX4RBCB3D&psc=1&refRID=VSWKZ7AMQHWTX4RBCB3D)

* 「技術動向」「事例」「倫理、法務分野」の３本立て
* 大きい、分厚い。さすが白書。濃密な内容。しかし索引がない。
* 各分野の近年の事例はびっしり。面白い

「事例」の分野はなかなか密度が濃く、G検定でなくとも一読しておくと面白いです。
しかし白書と言ってるだけに、読み物としての魅力は薄く。かなり羅列気味の内容になっています。
寝落ちしたり、浸水したり散々でしたがかろうじて読みました（実際はほとんど頭に入ってないですw）

索引もなく、使いにくいので付箋を貼ったり索引を自分で作成しないと実用性は低くなります。

この本の読破に一番時間がかかったのですが、出題は2割程度でG検定の学習コスパは悪いです。
時間がなくとりあえずG検定合格を目標にするのでしたら、これは無視して他を勉強した方がいいと思います。

しかし自動運転の分野は頻出のため後述する問題集などを通して学習した方がいいです。

## [深層学習 (機械学習プロフェッショナルシリーズ)](https://www.amazon.co.jp/%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E5%B2%A1%E8%B0%B7-%E8%B2%B4%E4%B9%8B/dp/4061529021/ref=pd_sbs_14_5/358-0192164-1105575?_encoding=UTF8&pd_rd_i=4061529021&pd_rd_r=0235ffc5-44c5-11e9-99f2-57db050ae629&pd_rd_w=S4JYm&pd_rd_wg=DUyhH&pf_rd_p=ad2ea29d-ea11-483c-9db2-6b5875bb9b73&pf_rd_r=QJGXF8VPAZY1AT9FEPWP&psc=1&refRID=QJGXF8VPAZY1AT9FEPWP)

* 数式祭り
* 基本的なモデルの解説を他の本よりも詳細に学べる
* 回帰、ロジスティック回帰、ディープニューラルネットワーク、CNN、 RNN、ボルツマンマシンなどなど

実際にAIを学習するとしたら外せない部分になると思います。

ここの分野からの出題が一番多く6割くらいの印象。
あえて「ここの分野」と言ったのは、実際試験で出題される物は、この本では全然足らず自らググったり学習する必要があります。
ここ本でカバーできるのは全体の6割の中のさらに7割くらいの印象。

## [徹底攻略 ディープラーニングG検定 ジェネラリスト問題集](https://www.amazon.co.jp/%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5-%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0G%E6%A4%9C%E5%AE%9A-%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%A9%E3%83%AA%E3%82%B9%E3%83%88%E5%95%8F%E9%A1%8C%E9%9B%86-%E3%82%B9%E3%82%AD%E3%83%AB%E3%82%A2%E3%83%83%E3%83%97AI%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE-%E6%98%8E%E6%9D%BE/dp/4295005665/ref=pd_bxgy_14_img_2/358-0192164-1105575?_encoding=UTF8&pd_rd_i=4295005665&pd_rd_r=e3be50b9-44c4-11e9-a1f2-2ffda33621c2&pd_rd_w=HehuO&pd_rd_wg=iRuXw&pf_rd_p=546a854e-3ca8-49c6-8e2f-dc88f5c2740e&pf_rd_r=VSWKZ7AMQHWTX4RBCB3D&psc=1&refRID=VSWKZ7AMQHWTX4RBCB3D)

* 問題集
* シラバスの章に沿って問題100問くらい+最終章に模擬試験

実試験よりもかなり簡単なため注意が必要です。
模擬試験で95%取れていましたが、本番では60~70%の感覚でした。
合格ラインは発表されていませんが、60~70%との予想が出回っているのでスレスレかもしれませんねww

## [Study-AI G検定（ディープラーニングと機械学習の検定）模擬テスト](http://study-ai.com/generalist/)

* Study-AIが提供している模擬試験
* 無料β版だがかなり本番さながら

こちらの方が実試験のレベルに近い印象だが、出題形式が若干異なり、複数選択の問題などがある。
自分はこちらでは最終仕上げに活用し72%ほどの正答率。

## 本番試験

* 想定よりも難しい
* 公式問題集やStudy-AIの試験からも結構出る
* 今年になってからの新技術や法改正問題が難問か出る
* 2時間はキツイが、意識して早く解かないと時間切れになる

全て解き終わりましたが、前述した通り60~70%の感覚。

合格ラインは公開されていないが、合格率は公開されていて60%程度の簡単な試験との印象を持ちますが、
実際はディープラーニングという技術のため難易度は高いです。
そのため、しっかり学習して知識をつける必要があり、良質な試験だと感んじました。


# 今後の予定

１、G検定のため、無視した部分を学習(入門書籍のプログラミング)

２、統計学、確率、線形代数などの機械学習数学の学習

３、さらに実践的な機械学習・ディープラーニングの学習

４、Kaggleなど

今回の学習で機械学習数学の知識が圧倒的に足りていないことが判明したので、次はその部分を重点的に学んでから
発展的な内容に進もうかと思います。

# さいごに

ここまでの内容を学習する前は

 * 機械学習なんて数式まみれで絶対無理！！
 * 人工知能とか絶対むずいだろ

のような考えで躊躇していましたので、かなり優しいところからスモールステップ方式で学習しました。
その結果、機械学習・ディープラーニングの大枠を捉えることができ、勉強すべき内容とイメージが具体的になってハードルが下がった気がします。

いつの日かシリコンバレー(それか深セン、それとも渋谷？)のAIエンジニアになれる日を夢見てww
今後も長い目で見て学習を続けていければと思います！