ラビット☆チャレンジde JDLA E資格 #2 

# Deep Learningエンジニア資格挑戦ブログ
## 2019/4/8 AI プログラミング超入門

### 講座(や課題を含むプログラム)の内容を紹介
プログラムの概要で言うと、次の4つの学習を進めることになる。

1. 事前資料・予習教材   ...で学習する
2. 各単元の学習用教材   ...で学習する
3. 推薦図書・参考図書   ...を読む [^1]
4. 補助教材(Numpy講座など)   ...で学習する

[![ラビット☆チャレンジ](http://www.realca.ai/images/rabbit-challenge.jpg)](http://ai999.careers/rabbit/)
[ラビット☆チャレンジ](http://ai999.careers/rabbit/) - JDLA認定プログラム

では早速、「1 事前準備・予習」を始めてみた。すると次の8つのコースが出てきた。

### 1. 事前準備・予習 の内容
1. Aries (アリエス)  
    シカくんと学ぶAIプログラミング。AIって何？っていう方はここからスタート。
2. Taurus (タウルス)  
    Pythonの基礎やパソコンの操作から進めたい方はここからスタート。
3. Gemini (ジェミニ)  
    ニューラルネットワークの順伝播の基礎はここからスタート。
4. Cancer01 (キャンサー01)  
    ニューラルネットワークの逆伝播。ここまで踏み込めば初級者は卒業。
5. Cancer02 (キャンサー02)  
    ニューラルネットワークの連鎖律。ここが理解できていれば中級者。
6. Leo (レオ)  
    中間層を導入た更新式の実装です。ソースコードを使いながら実際に手を動かして「習得」してください。ここが出来ればかなりの実力者です。
7. Virgo01 (ヴァーゴ01)  
8. Virgo02 (ヴァーゴ02)  
    Virgoでは、手書き文字データや、為替データを例にフレームワークでディープラーニングを実装します。ここまでできれば中級者は卒業。今まで読めなかったかなりの専門書が読めるようになっているはずです。

* Cancer(蟹座)とVirgo(乙女座)で確信持てましたが、これは星座ですね。  
あれ? Ariesってシカだっけ?

### 今日の学習内容
通常は「Leo」から始めるらしいが、せっかく高い受講料を払ったのだから、「1. Aries」の「00_シカくんとAI学習」から始めてみた。

#### A_01_シカくんと学ぶAIプログラミング超入門
シカくんと一緒に勉強するらしい。教材をとっつきやすくすることと、分かりやすくすることは別だよなと思うがまあいい。
1次関数うる覚えでも、Python入門は終わったばかりでもOKとある。
やはり見るのをやめようかと考えたが、何か得るものがあるかも知れないと思い、ビデオ視聴を続ける。以降は、一応思ったこと、考察したことのメモ書きなので、文章の体をなしていないのはご容赦いただきたい。
実際にはこんな内容ではないことに注意。うちの中学生の子でも聞けそうな内容だが、G資格を取ろうという者が「ふ〜ん、そうなんだー。すっごーい(byサーバルさん)」で終わってはいけない。

##### パーセプトロン (perceptron)
```
動機:  
そういやパーセプトロンって上手く説明できないな。調べなゃ。
意味:  
外部刺激図形の学習識別装置のモデルのこと。
系譜:  
1943年: マカロック / ピッツ
    形式ニューロン (formal neuron) を考案
1958年: ローゼンブラット
    形式ニューロンを基に考案。
    入力-隠れ-出力の3層から成る階層型ネットワークを仮定
```

参考: パーセプトロン
http://www.aichi-gakuin.ac.jp/~chino/neural-networks/perceptron.html

```
感想:
AI黎明期を感じさせますね。
```

##### これを"AI"って括れる?

```
                      --  AI  --
　パーセプトロン -> ニューラルネットワーク -> ディープラーニング

動画の01:16のところで、「これは"AI"である」と括ってあった。
しかしこれでは違和感ありまくりなので、何であれば適切なのか考えたところ、
ここは「神経細胞モデルの発展」だろうと思った。

               --  神経細胞モデルの発展  --
　パーセプトロン -> ニューラルネットワーク -> ディープラーニング

うんうん。これならしっくりくるね。
そんなことを考えさせてくれたシカくんありがとう。
```

##### "AI"と聞いて何を想像しますか?

```
突然聞かれてしまったが、意外とすぐには答えられない。
DLG(G検定)の公式テキストでも書かれていたように、専門家であっても、AIの定義は
バラバラであることが大きな要因だと思われる。
さて、AIをわかりやいように解釈してみた。
  AI --> 訳は人工知能 --> 人工的な知能を持つこと
  --> コンピュータが知能を持つ(ように見える)こと
  --> コンピュータが(実際にはプログラムによって)ベタベタな条件分岐
      を書いていたとしても、それで知能的な判断をしていれば、それは
      人工的な知能と呼んで良い。
  -x-> ディープラーニングのような、人間の脳細胞を模倣しているもの
      でないと人工知能と呼べない。

  自分としては、トイプロブレムでも、チューリングテストが通れば、まあ
  AIと言えなくもない、という感覚だ。

でも、「AI Expo」とかでそんな製品を見たら間違いなく「は? AI って呼べ
ねーだろ? Deep Learning使ってないのによくAI やってますって言えるよな?」
と言いたくなってしまう、矛盾した自分がいることに気付いた。

改めて問いたい。「AI」と聞いて何を想像するか?

私の答え: 
「トイプロブレムでもAIと呼べるかもしれんけど、今時のAIソリューション
をうたうのにAIって使うのマジやめてくんねーかな? どのブースを見るべきなのか
取捨選択の時間がもったいねーよ、と怒り出す自分を想像します。」

「AI Expo」。来年はもっとそう思ってしまうような流れになるのだろうか?
```

##### 強いAIと弱いAI (Strong AI and Weak AI)

```
ジョン・サールが初めて使った言葉。
AIが真の推論と問題解決の能力を身につけられるか否かをめぐる論争において
用いられる用語。強いAIを簡単に言うと
  「人間と同じような思考があり、意思を持つAI」
になる。言うまでもないかも知れないが、簡単に説明できることは重要なこと
である。

これを人々が論じたい理由は何なのだろうか?
AIがどんどん賢くなって、悪い方向に行った時、人間に害を与えないか?
「倫理的な問題」が色々発生しそうだと予想できるから、であろう。
```

倫理的な問題 [^2]

```
(...続き)
この話しを抜きにして、強い、弱いと言っても仕方ないよね?
つまりAIを学ぶ際に、AIの倫理面についても忘れてはならない、
ということでしょう。
```

### 今日のまとめ

* 講座概要、および事前準備・予習内容紹介。
* 「A_01_シカくんと学ぶAIプログラミング超入門」で    
    * パーセプトロン
    * "強いAIと弱いAI"

    について学び直した。

[^1]: PDFにまとまっており、その中に次の指針が書かれている。
    演習問題 --> 補助教材 --> 赤本 --> 推薦図書(岡谷先生の青色本、PRMLの黄色本) --> シラバス[^3]
    という順番で学習したらよいとのこと。ではあるが、「補助教材をマスタすれば十分合格可能」と書かれてある。「DLの道は１日にしてならずじゃ(by猪熊滋悟郎)」とな。

[^2]: https://ja.wikipedia.org/wiki/%E5%BC%B7%E3%81%84AI%E3%81%A8%E5%BC%B1%E3%81%84AI そう言えば鉄腕アトムでもこの問題提起してたよね? 調べてみたら、人工知能学会から素晴らしい記事を発見。 https://www.ai-gakkai.or.jp/whatsai/AIselection6.html

[^3]: http://www.deeplearningbook.org/ MITプレス: GANのGoodfellowさんやチューリング賞受賞のBengio先生が著者。ここまで理解できたら、D進行けちゃうよね?