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

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

ただいまの
回答率

91.35%

  • Python

    3821questions

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

  • Keras

    32questions

lossがEpochを跨ぐとfloat32の最小値になる

解決済

回答 2

投稿 2017/11/28 13:29 ・編集 2017/11/30 11:38

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

upa.ver.2.0

score 0

症状

CNNを用いた研究を行っている学生です.初めてteratailを利用させていただきます.
現在,Kerasを用いて最適化手法の比較を行っており,Eveの評価で上記が発生困っています.

Eveの実装自体はtdeboissiere氏がGithub上で公開されているものを流用しています.
これをKerasのexamplesに含まれるmnist_cnn.pyを用いて実行しました.

1Epochは順調にlossが下がり0.09あたりまで減少しました.しかし,2Epochに入るとlossが1.1921e-07とfloat32の最小値に変化してしまいました.その後はlossの値は変化せず,明らかに正常な学習が行えていません.また,accも0.1付近で落ち着いてしまいます.
Kerasに元々含まれている最適化手法(AdamやAdadelta等)では上記のような症状は全く起こらず,正常な学習が行えています.

質問

上記の症状の原因と対策を教えていただきたいです.
特に,最適化手法を変更しただけにも関わらずlossやaccに直接被害が出ている点がわからないです

環境

Python 3.6.3
Keras 2.1.1
Tensorflow-gpu 1.4.0

使用OS:Windows10
IDE:VisualStudio2017
実行GPU:GTX970

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 2

check解決した方法

0

Ubuntu16.04上にて,GPUを使わずCPUのみで学習を行うとうまく学習できました.

投稿 2017/11/30 12:13

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/30 15:50

    結局何が原因だったのでしょう。
    OS依存のものがコードにはないので、GPUだとうまくいかない実装があったのでしょうか。

    キャンセル

0

floatうんぬんはただの表示なので、問題ありません。
ふつうに表示すると0.0000となるので。

それよりもおそらく学習率が高すぎです。
ノードの数などに問題がなければ、それだけで学習できるようになるはずです。
とりあえず0.1倍ずつにしてみてください。

投稿 2017/11/28 14:27

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/28 14:40

    lr=0.001で実行していたものを,lr=0.0001やlr=0.00001で実行しました.結果は特に変化はありませんでした.

    キャンセル

  • 2017/11/28 14:57

    Eveのバックエンドの要求がTheanoのようですが、互換性を確認しましたか。

    キャンセル

  • 2017/11/28 15:14

    今手元で試してみましたが、正常に実行されますね。
    Python 3.5.2
    tensorflow==1.4.0
    Keras==2.0.8

    2Epoch後では、
    loss: 0.0955 - acc: 0.9712 - val_loss: 0.0391 - val_acc: 0.9874

    ついでに、float32の最小値って1.1921e-07ではないような気がします…

    キャンセル

  • 2017/11/28 15:47

    同環境にして実行しましたが,改善しませんでした.それ以前のこちらの環境問題なのでしょうか?ありがとうございました

    キャンセル

  • 2017/11/28 16:15

    Windowsの環境がないので、自信を持って言えることがないです。
    お役に立てず残念です。

    以下雑感、
    1Epochでlossが0.09まで下がるのは相当早いように感じます。batch_sizeが小さい場合によく起こる印象です。研究を行っていらっしゃるならご存知かと思いますが、基本的にbatch_sizeを小さくするとその分学習率を下げないと変な局所最適解にたどり着いてしまいます。
    accが0.1なのも不自然な気がします。その正答率だとloglossで2.3程度になるように思います。それが、loglossで0.09まで下がっているにも関わらずaccが0.1というのはあまり考えられません。
    lossがおかしいように感じます。

    キャンセル

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

ただいまの回答率

91.35%

関連した質問

  • 解決済

    MNISTデータセットの読み込み

    ディープラーニングで使用される手書き数字の画像セット「MNIST」の読み方を教えてください。 google検索で探した MNISTに関するサイトのコードをanacondaに入

  • 解決済

    kerasのインポート時のエラーについて

    MacOSでpython3を使っています。 pyenvにより、新たな環境をlocalディレクトリで使用しています。 そこでKerasを使いたいと思い、 pip insta

  • 解決済

    kerasでGoogle Cloud Storageにあるjpgファイルを扱いたい

    前提・実現したいこと Kerasをcloud ml上で動かそうと思っています。 学習データをGoogle cloud storage上にjpgの形で置いて、学習させたいのですが、

  • 解決済

    kerasを用いたCNNでの犬猫判別

    Mac OS Sierra 10.12.1 現在kerasを用いたCNNで犬猫判別をしています。 犬猫の画像を128*128(3チャンネル)にリサイズして ミニバッチを採用して

  • 解決済

    InceptionV3モデルでcifar10の画像分類をしたい

    前提・実現したいこと Kerasで深層学習の勉強をしています。InceptionV3のモデルを利用してcifar10の画像分類をしたいです。 発生している問題・エラーメッセージ

  • 解決済

    [python]kerasでの画像認識が終了しない

    問題点 kerasによる画像認識を拝見し,実際にソース,使用した画像をそのまま流用して実行しました. しかし,1エポックが終了する時になっても次のエポックに移行ない問題が発生しまし

  • 解決済

    vuexでのstoreの分け方について教えてください。

    vue.jsとvuexでの開発を調査しています。 アプリで使うデータはstoreのstateで管理するというのはなんとなくわかったのですが、管理するデータが多くなった場合、st

  • 受付中

    kerasで座標推定

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

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

  • Python

    3821questions

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

  • Keras

    32questions