データの前処理に
これから2週間、
残り1カ月の半分を費やす。
で、そのあと、いよいよ、
つまり、
という機械学習のメインイベントに取りかかる。

データの前処理に2週間も使って、
メインのモデル構築、間に合うのか?
うむ。
たしかに心の片隅では、

間に合うわけないじゃん!
とサジを投げかけている自分がいる。
ただ、現在、AI開発の世界で、
モデルを一から作ることはほとんどない。
たとえば、今回つくる
という文章生成モデル。
この「Seq2seq(Sequence to Sequence)モデル」とは、
モデルの入力と出力が時系列データになっており、
時系列データを別の時系列データに変換してくれるもの
で、
機械翻訳やチャットボット、メールの自動返信など、
さまざまなアプリで利用できるニューラル・ネットワークだ。
大まかなしくみはこんな感じで、

『ゼロから作るDeep Learning 2』p288 図7ー5
Encoder Decoder モデルとも呼ばれる。
ここでは、
Encoder(エンコーダー)が
「吾輩は猫である」という文章をエンコード(符号化)し、
Decoder(デコーダー)が、
エンコードされたデータをデコード(復号)している。
これを当初、
という、
いま人気急上昇中のライブラリでつくる予定だった。
(プロはみんなこれ?)
しかし、時間がないなか、
いまから新しいライブラリを学習している余裕はない。
『Pytorch による発展ディープラーニング』
という人気本も準備したが、

キカガク長期コース講師からも勧められた一冊。
キカガク長期コースを卒業してから、
改めて着手しよう。
そこで、
キカガク長期コース講師のアドバイスを受け、
プログラミングの経験がなくても簡単にコードを書くことができる、
を選んだ。

ロゴ?
この「Keras」には、
モデルの作り方が、
2.Function API
の2つあって、
2のFunction APIを使うと、
Seq2Seqのような複雑なモデルもスムーズに定義できるという。
機械学習では、
データの前処理に時間を取られるので、
モデルは「転移学習」(*1)や「ファインチューニング」で
定義、学習させるのが一般的な流れになっているのだ。
つまり「Keras」を使えば、

多分、大丈夫!(泣くな!)
まにあうかもしれない!
のだ。
あと1カ月、がんばろう。