文系AI人材にはなりたくない!ー実装を勉強する理由とは?

AI学習ダイアリー
焼きリンゴを作ってみた。果物は加熱すると甘みが増す!

AIスクール(*1)が終わるとき、
担当講師が、
自然言語処理を勉強したい私に、

RNNからTransformerまでを理解するにはこちらの書籍が有名です。これ一冊を通すことにより、文章や時系列データに関して基礎的な知識を網羅できます。

といって、
巣籠 悠輔
「詳解ディープラーニング 第2版 ~TensorFlow/Keras・PyTorchによる時系列データ処理~ 」
を勧めてくれた。

入門書といえど、数学からも逃げていない。

卒業してからだいぶ日は経ったが、
もう一度この本で勉強しようと思い、
「3章 ニューラルネットワーク」
を読み始めた。

そうしたら、
いきなり「単純パーセプトロン」でつまづいた。

ディープラーニングの本当の入口。

単純パーセプトロンは、
ニューラルネットワーク、さらに、
ディープニューラルネットワークにつながる基本中の基本だ。

これがわからないなんて!

すっかりPythonNumPyのコードを忘れていて、
実装プログラムが読み解けないのだ。

実装のポイントは2つあって、

1.モデルはクラス(*2)で定義する
2.実装の順序は、
① データの準備 → ② モデルの宣言 → ③ モデルの学習 → ④ モデルの評価

なのだが、
そのクラスのコードが読めなかったのだ。

Pythonでは、1つ目に必須な引数、selfを使うんだった。

クラスは、オブジェクト指向プログラミングで出てくる概念で、
国家試験「ITパスポート試験」にも出てくる、
これまた基本中の基本概念。
知らないでは済まない知識だ。

さらに、
もうひとつ、つまづいた。

データを自分で作るときは、
乱数を使う。

NumPyを使い、
乱数シードを設定したり、
乱数を生成するのだ。

乱数シードを設定しないと結果がそのたび違ってくる。

で、このコードもすっかり忘れていて、
先に進めなかった。

でも、文系AI人材を目指すなら、プログラミングは必要ないのでは?

しかし、
2年弱、AIの勉強をしてきて、こう思う。

そうではない。だまされてはいけない、と。

本に載ってるコードを、
GithubからGoogle Colabにコピペして、
ただ実行するだけでは、
本当になんの役にも立たないのだ。

実務でコーディングすることはないかもしれない。
しかし、
コードを読み解けないのなら、AIのしくみは理解できない。
しくみがわからないものを、
自信を持って経営者に勧めることはできないのだ。
(ここは、中小企業診断士としてという意味です。)

せっかく勉強するなら、
本質的なことから目を背けるのはやめよう。
そのことを肝に銘じて先に進みたい。

*1 キカガク主催の「自走できるAI人材になるための6カ月長期コース」に、2019年11月3日から2020年5月10日まで通った。
*2 プログラミングで、共通の値、共通の処理をひとまとめにして定義する手法。詳細は本書「2.3.8 クラス」に詳しい。

Follow me!

PAGE TOP