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

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

ただいまの
回答率

90.53%

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

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 251

motsuo

score 0

 前提・実現したいこと

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が考慮されたかはともかく、狙いと異なりダミーデータが考慮されてしまった)

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

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

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

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Python Kerasについて

    KerasClassifier() kfold = StratifiedKFold() results = cross_val_score() 上記のようなコードで、過学習を防

  • 解決済

    Kerasで訓練データにIDがある場合のベストプラクティスについて

    前提・実現したいこと 一般的なcsvデータをKerasに食わせて他クラス分類を行おうと思っているのですが、 訓練データに含まれるID系のデータの扱いについて困っております。 ID系

  • 解決済

    kerasのmodel.evaluateで得られたaccuracyが1枚ずつ行うmodel.pred...

    前提・実現したいこと 初心者です テストでの不正解画像のインデックスを取り出したいのですが、model.evaluateで得られたaccuracyが1枚ずつ行うmodel.pred

  • 受付中

    kerasで座標推定

     kerasで座標推定 現在、Deep Learningを用いて画像内から特定の物体を検出したいと考えており、 その際に座標を出力できるようにしたいのですが、どのように入力を与え、

  • 解決済

    KerasでSegnetを行いたい

    https://teratail.com/questions/131885#reply-200116 以前質問させていただいた部分は解決したのですが別の部分でエラーがでてしまいまし

  • 解決済

    CIFAR10のload_data()について

    掲題についてです。 戻り値がどのようなものなのか、公式ドキュメントの以下の箇所を見ても把握出来ませんでした。 戻り値: 2つのタプル: x_train, x_

  • 解決済

    Kerasの自作損失関数について

    Kerasで自作の損失関数を作りたく、損失関数の細かい動作についてお聞きしたいです。 以下のように損失関数を定義し、(モデルの入出力は同じ10次元と仮定する) def lo

  • 解決済

    学習の様子を可視化できない

    学習の様子を可視化できないです。 ・ ・ ・ # placeholders input_sequence = Input((story_maxlen,)) question =

同じタグがついた質問を見る