ソニーのNNCで実際にAIを作ったものを紹介します.
せっかくなので,数学をやらせてみましょう.
まず,適当に関数を作りました.
です(ホントにテキトーに作った関数なので,スルーしてください!).
関数の式はAIに教えず,xとyの対応だけを教えます(データを読み込ませる,ということ).
そこからAIに,xとyの対応法則を考えさせます(式を使って法則を推定します).
関数の式を当てさせるわけではなく,(yの値を教えていない)適当なxを代入したらどんなyの値になるかを推定させるのです.
では,AIを作りましょう!
まず,学習に使うデータを作ります.
そのために,関数にx=0.00,0.02,0.04,……,9.98,10.00を代入してyの値を求めます.
約500個あるので手計算は無理で,エクセルを使います.
そして,乱数などを使って,適当に並べ替えます.
これを,2つに分割して,300個ほどxyの対応からなる「学習用データ」と200個ほどの「テスト用データ」を作ります.
いずれもcsvファイルです.
ここでやっとNNCを立ち上げます.
推定の枠組みを適当に設定しました.
さらに,学習・テストの2つのデータを読み込ませます.
学習データを使って法則を見出させ,その法則の精度をテストデータで検証します.
それが全自動!何てスゴイんでしょう,ソニーさん.
誤差がどんどん小さくなる様子を可視化してくれます!
最適化の作業回数を1000回に設定していましたが,500回を過ぎた辺りでほぼ誤差が消えました.
(以降は,無意味な最適化をひたすら繰り返し.スマン,NNCよ)
これでほぼ完ぺきな推定をするAIが得られたハズ.
このAIに,適当なxを代入したときのyの値を推定させます・・・
次回へ続く。