ワイド&ディープニューラルネットワーク
2016年、GoogleのChengと他の人々によって公開された、Wide and Deep Learning for Recommender Systemsの記事は、Wide&Deep ANNsという新しいアーキテクチャを紹介しました。
入力層の一部またはすべての情報を出力層に直接接続することにより、短いパスで単純な機能を学習し、深いパスで複雑な機能を学習できます。典型的な多層パーセプトロン(MLP)構造と比較して、このアーキテクチャは、データセットの単純な機能が処理されすぎて深いパスで歪むのを防ぐことができます。
Kerasの実装
Wide&Deepニューラルネットワークの実装は非常に簡単で、AurélienGéronの古典的な教科書、Scikit-LearnおよびTensorFlowを使用したハンズオン機械学習は、ソースコードを提供します。本のソースコードに誤りがあり、正しいものがここに示されています。
input=keras.layers.Input(shape=X_train.shape[1:])
hidden1=keras.layers.Dense(30,activation="relu")(input)
hidden2=keras.layers.Dense(30,activation="relu")(hidden1)
concat=keras.layers.concatenate([input,hidden2])
output=keras.layers.Dense(1)(concat)
model=keras.Model(inputs=[input],outputs=[output])