概要
Keras の使い方を学びたかったので簡単な使い方から RNN を使った文章生成までやってみました
それぞれ記事にしたので一覧をまとめておきます
また学習した感想など記載します
環境
- macOS 14.0
- Python 3.11.6
- keras 2.14.0
- tensorflow 2.14.0
- matplotlib 3.8.1
記事一覧
- 第0回: RNNのチュートリアルをやってみた
- 第1回: Keras 超入門
- 第2回: Keras でモデルを保存する
- 第3回: Keras で Tensorboard を使う
- 第4回: Keras で独自の評価関数を作る
- 第5回: Keras で超簡単 RNN を試してみる
- 第6回: Keras で2値判定のRNNをやってみる
- 第7回: Keras + RNN の文章生成チュートリアルをリファクタしてみた
その他記事
感じたこと
- Keras の使い方もそうだが numpy の使い方のほうが重要だと感じた
- numpy で作成したベクトルの扱い方
- 多次元ベクトル、shape の情報をイメージできるか
- reshape など
- Keras のレイヤーを理解し使えるようになるまでは大変そう
- 入力の数と出力の数を考慮してレイヤーを結合できるか
- 学習時と評価時でちゃんと適切なテストデータを作成することができるか
- 学習よりもデータを生成、クリーニングする段階のほうが重要であり難しいコードになりがちな気がする
- numpy や tf.data を使って学習に必要なフォーマットに落とせるか
- RNN の場合は「一つずらす」必要があるのでこれをコードで表現できるか
- numpy や tf.data は最悪使わないでもできるので無理に使わなくてもいい
- コードをリファクタリングしたほうが理解が深まる
- なぜかすべての紹介されているコードがすべて一枚ペラのコードばかりでクラス化されていたり冗長部分の排除ができていなかった
- TestData, Model, Test など必要な機能、役割ごとに分割して管理すると何をやっているかもわかりやすい気がした
- 自分が紹介してるコードはクラス化されています
- ハイパーパラメータについて
- こればかりは数学の知識や経験が大事になってくる
- サンプルの値をそのまま使ってもいいがハイパーパラメータの変化による効果や仕組みを理解してないと Keras を理解したとは言えないと思う
- それでも王道を使っておけば深層学習自体のポテンシャルの高さである程度の精度は出すことができる (それ以上を求める場合には数学の知識を含めハイパーパラメータの扱いが必要な気がする
- 評価関数、損失関数など
- ここも経験や数学の知識によって精度に大きく影響する
- 一流を求めるなら自作の関数の作成と理解が必要
- それでもデフォルトの関数を使えばそれなりの評価が出てしまう
0 件のコメント:
コメントを投稿