12章TensorFlowで作るカスタムモデルとその訓練

今までは、TensorFlowの高水準APIであるtf.kerasだけを使っていたが、それでもかなりのことができた。バッチ正規化、ドロップアウト、学習率スケジュールなどのさまざまなテクニックを駆使して、回帰ネットワーク、分類ネットワーク、ワイド・アンド・ディープネットワーク、自己正規化ネットワークを含むさまざまなニューラルネットワーク・アーキテクチャを作ってきた。実際、あなたがぶつかるユースケースの95%は、tf.keras(およびtf.data、13章参照)以外のものを必要としない。しかし、この章ではTensorFlowの奥深くに入り込み、低水準Python API(https://homl.info/tf2api)を覗いてみよう。独自の損失関数、指標、レイヤ(層)、モデル、初期化子、正則化器、重みの制約などを書くために低水準の制御機能が必要になったときには、この知識が役に立つ。単なる勾配クリッピングではなく、勾配に特別な変換や制約を加えたいときや、ネットワークの異なる部分のために複数のオプティマイザを使いたいときなど、訓練ループを完全制御しなければならない場合もある。この章では、これらの条件をすべて取り上げるほか、TensorFlowの自動グラフ生成機能を使ってカスタムモデルや訓練アルゴリズムの性能を上げる方法も見ていく。しかし、まずはTensorFlowの概要を紹介することにしよう。

[注記]

TensorFlow2.0(ベータ)が2019年6月にリリースされ、TensorFlowは大幅に使いやすくなった。本書の初版はTF1を使っていたが、この第II版はTF2を使っている。 ...

Get scikit-learn、Keras、TensorFlowによる実践機械学習 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.