質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

590閲覧

以下の様な,kerasを用いた半教師あり学習のモデルについてです。

Hayato1201

総合スコア220

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2018/05/06 07:48

編集2018/05/06 07:56

VAEを用いた半教師あり学習のモデルで以下の様な物があります。

イメージ説明

https://github.com/bjlkeng/sandbox/blob/master/notebooks/vae-semi_supervised_learning/vae-m2-fit-mnist.ipynb

以上のサイトでそれが実装されています。
In[17]の、

Python

1history = fit_model(X_others, X, y, epochs=epochs)

この部分で画像で示したモデル

Python

1label_vae = Model(inputs=[x_in, y_in], outputs=[_x_output, _y_output]) 2unlabeled_vae = Model(inputs=x_in, outputs=u_x_output)

以上二つの学習が行われ、同じくIn[17]の

Pyhton

1classifier = Model(inputs=[x_in], outputs=[_y_output])

この部分で新たにclassifierを定義しています。しかし、これは上の画像でも示す通り、全体のモデルの一部分です。以下の様に、

Python

1y_pred = np.argmax(classifier.predict(X_test, batch_size=batch_size), axis=-1)

ともう新たにfitを行わなくてもpredictで推論を行なっているのは、全体のモデルの学習時に学習された重みΦがclassifierとして定義したモデルに引き継がれているという事でしょうか?もし、学習されたclassifierのモデルと重みを保存したかったら上のclassifierの定義に続いて、

Python

1classifier = Model(inputs=[x_in], outputs=[_y_output]) 2classifier_json_str = classifier.to_json() 3open('classifier_model.json', 'w').write(classifier_json_str) 4classifier.save_weights('classifier_weights.h5')

この様にすればclassifierは保存されるのでしょうか?
長くなりましたが、質問は、学習されたモデルの一部分を後から定義した場合でも学習された重みは反映されているのかという事です。また、最初に定義したモデル、label_vae 、unlabeled_vae も別々に学習されていますが、それぞれで学習された重みは共有されているのでしょうか?されているはずなのですが、これはそれぞれのモデルのinputに同じx_inが使われているからとかそういう事ですか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問