必要に応じて、コンテンツの保存と分類を行います。最小限の実装が含まれます。ニューラルネットワークが学習したパターンを視覚化する実験です。過解釈を行って、画像に見いだせるパターンの精度を強化します。ネットワークを通じて画像を転送し、特定のレイヤーのアクティベーションに関して画像の勾配を計算することで行われています。画像は、これらのアクティベーションを変更しながら、ネットワークに見られるパターンを強化して、夢の中のようなイメージを作り出します。映画「インセプション」の因んで、「インセプショニズム」と呼ばれています。ニューラルネットワークに「夢を見させて」、画像に見いだすシュールなパターンを強化する方法を実演することにしましょう。PIL.Imageドリーム化する画像を選択するこのチュートリアルでは、ラブラドールの画像を使用しましょう。"href=https://commons.wikimedia.org/wiki/File:Felis_catus-cat_on_snow.jpg">Von.grzanka</a>'))特徴抽出モデルを準備する事前トレーニング済みの画像分類モデルをダウンロードして準備します。任意の事前トレーニング済みのモデルを使用することができますが、レイヤー名を変更する場合は、以下のように調整する必要があります。考え方は、レイヤーを選択して、画像がレイヤーを徐々に「刺激する」ように「損失」を最大化することです。追加する特徴量の複雑さは、あなたが選択するレイヤーによって異なり、レイヤーが低ければストロークや単純なパターンを生成し、レイヤーが深くなるほど、画像または画像全体の特徴がより洗練されることになります。リポジトリをご覧ください)。対象のレイヤーは畳み込みが連結されている場所です。名前が付けられています。異なるレイヤーを使用すると、異なった夢のような画像が生成されます。レイヤーが深くなるほどより高度な特徴(目や顔など)に対応し、浅いほどよりシンプルな特徴(エッジ、形状、テクスチャなど)に対応します。以下で選択するレイヤーを自由に試してみてください。レイヤーが深くなるほど(インデックスが高いレイヤー)、勾配の計算がより深くなるため、トレーニングに時間がかかることに注意してください。outputs=layers)損失を計算する損失は、選択されたレイヤーのアクティベーションの和です。損失はレイヤーごとに正規化されるため、より大きなレイヤーからの貢献は小さなレイヤーを上回らないようになっています。勾配上昇法によってこの損失を最大化します。選択したレイヤーの損失を計算したら、後は画像に関して勾配を計算し、それを元の画像に追加するだけです。画像に勾配を追加すると、ネットワークが見るパターンの精度が上がります。各ステップで、ネットワークの特定のレイヤーのアクティベーションを徐々に刺激する画像を作成することになります。値で関数が再トレースされないようになっています。詳細は、具象関数ガイドをご覧ください。step_size=0.01)オクターブを実行するここまでで非常に素晴らしいものではありますが、この最初の試行にはいくつかの問題があります。