Keras風に書くのが、イマドキの書き方?
【初心者〜中級者向け】Tutorial実装で確認するTensorFlow入門
https://liberal-arts-beginners.connpass.com/event/134776/
を聞いてきたので、メモメモ
End-to-Endの機械学習 入力と出力を意識していればよい。
TensorFlowtyu-toriaru
https://www.tensorflow.org/tutorials
チュートリアルだけでもいろいろ
MNIST
tf.keras.Sequential
基本的なモデル設計法(層の構成:隠れそう、出力)
→層を積み重ねていく
Flatten 一次元にする
Dense 層を追加(512,activation=tf.nn.relu)
Dropout おとす
Dense 層を追加(10,activation=tf.nn.relu)→0~9で10こ
model.compile
具体的な学習法
adam
引数 オプティマイザ―:勾配降下法の設定
モーメンタム
RMSprop
adam(上2つのいいとこどり)
評価方法の指定ができる(sklearnにはない)
クロスエントロピー:分類関数に使う誤差関数(損失関数)
回帰:2乗誤差関数
分類:クロスエントロピー
メトリクス:アキュラしー
model.fit:学習
model.evaluate 評価
■画像分類
TensorFlowhub
ILSVRC:ResNet
モデルの軽量化
・Neural ODE(常微分方程式)ResNetと同じくらいの精度パラメータが少ない
・Mobile Net畳み込みを分解、空間とチャンネル
・TensorFlow Hub:学習が済んだものを推論できる
■転移学習
・人間のアナロジー
・重みの初期値:乱数で決める
NN,DLは重みの初期値を定める:初期値の決め方をうまく決めると精度が上がる
事前学習(なぜうまくいくかは不明)
入力2こ隠れそう3つ出力1個
NN,DLを
入力と出力
入力と出力のサイズをおなじくする
これを訓練するとき、入力データを実測値にする
→(X,X)にする
入力で入力を回帰することを、オートエンコーダーという(自己符号化器)
訓練が終わったら、
1層目重みを取り出す
はじめのものの、一層目の初期値にする
GAN(じぇねれーてぃぶ あどばたいず ねっとわーく)
GANのタスク:画像生成
登場人物
ジェネレーター:生成
ディスクりみねーたー:判別
(1)ジェネレーターが画像を作
(2)作られた画像と人間がとった画像をディス栗見ネーターに渡す
(3)ディス栗見ネーターは画像が作りもの化本物か判断
(4)結果を踏まえて、ジェネレーター更新
Conditional GAN(Pix to Pixをやるために)
・one hot vector
所属クラスの表現:5クラス データX1はクラス2→属しているクラスだけ1にする
pix2pix
https://github.com/tensorflow/tensorflow/blob/r1.13/tensorflow/contrib/eager/python/examples/pix2pix/pix2pix_eager.ipynb