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

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

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

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

深層学習

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

Q&A

0回答

2854閲覧

kerasで教師なしデータを扱いたい

motsuo

総合スコア4

Keras

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

深層学習

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

0グッド

0クリップ

投稿2018/07/20 02:27

編集2018/07/23 01:28

前提・実現したいこと

kerasでVAT(Virtual Adversarial Training)を動かしています。
ソースは
https://qiita.com/mokemokechicken/items/b3cb3d65b6876ccf1a5b
を参考にして実装しました。
教師あり学習についてはうまく行ったのですが、
半教師あり学習の場合の教師なしデータの与え方を思いつかず悩んでいます。

VATに限らず、kerasでの教師なしデータの与え方について
良い方法をご存知でしたら教えていただけますでしょうか?

試したこと

参考にしたソースではkeras標準のModelクラスに、自作のクラス(VATModel)をオーバーライドしており、その中で下記のように損失関数を定義しています。

@property def losses(self): losses = super(self.__class__, self).losses if self._vat_loss: losses += [self._vat_loss] return losses

※self._vat_lossにVATのlossが入っており、この値は別途計算される。

教師なしデータの学習をするにあたって、上記関数の
losses += [self._vat_loss]

losses = [self._vat_loss]
に変えることで、ダミーで設定した出力の正解値にかかわらず、
VATのlossのみを設定できると考え、そのように変更して学習を行わせてみました。
しかし、学習したモデルは、全てのデータがダミーで設定した正解値が出力されるモデルでした。
(VATのlossが考慮されたかはともかく、狙いと異なりダミーデータが考慮されてしまった)

上記のやり方の問題点はどこでしょうか?
また、別の良い方法をご存知でしたらご教示ください。
よろしくお願いいたします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問