AIスクール(*1)が終わるとき、
担当講師が、
自然言語処理を勉強したい私に、
RNNからTransformerまでを理解するにはこちらの書籍が有名です。これ一冊を通すことにより、文章や時系列データに関して基礎的な知識を網羅できます。
といって、
巣籠 悠輔 著
「詳解ディープラーニング 第2版 ~TensorFlow/Keras・PyTorchによる時系列データ処理~ 」
を勧めてくれた。
卒業してからだいぶ日は経ったが、
もう一度この本で勉強しようと思い、
「3章 ニューラルネットワーク」
を読み始めた。
そうしたら、
いきなり「単純パーセプトロン」でつまづいた。
単純パーセプトロンは、
ニューラルネットワーク、さらに、
ディープニューラルネットワークにつながる基本中の基本だ。
これがわからないなんて!
すっかりPythonやNumPyのコードを忘れていて、
実装プログラムが読み解けないのだ。
実装のポイントは2つあって、
① データの準備 → ② モデルの宣言 → ③ モデルの学習 → ④ モデルの評価
なのだが、
そのクラスのコードが読めなかったのだ。
クラスは、オブジェクト指向プログラミングで出てくる概念で、
国家試験「ITパスポート試験」にも出てくる、
これまた基本中の基本概念。
知らないでは済まない知識だ。
さらに、
もうひとつ、つまづいた。
データを自分で作るときは、
乱数を使う。
NumPyを使い、
乱数シードを設定したり、
乱数を生成するのだ。
で、このコードもすっかり忘れていて、
先に進めなかった。
でも、文系AI人材を目指すなら、プログラミングは必要ないのでは?
しかし、
2年弱、AIの勉強をしてきて、こう思う。
そうではない。だまされてはいけない、と。
本に載ってるコードを、
GithubからGoogle Colabにコピペして、
ただ実行するだけでは、
本当になんの役にも立たないのだ。
実務でコーディングすることはないかもしれない。
しかし、
コードを読み解けないのなら、AIのしくみは理解できない。
しくみがわからないものを、
自信を持って経営者に勧めることはできないのだ。
(ここは、中小企業診断士としてという意味です。)
せっかく勉強するなら、
本質的なことから目を背けるのはやめよう。
そのことを肝に銘じて先に進みたい。