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

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

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

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

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

Q&A

0回答

916閲覧

chainerで負の報酬を重視した構造のCNNを実現したい。

退会済みユーザー

退会済みユーザー

総合スコア0

Chainer

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

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

0グッド

0クリップ

投稿2019/01/23 09:14

編集2019/01/24 09:05

前提・実現したいこと

DQNにおけるCNNの出力の処理を、

状況判断:負の報酬を獲得する可能性があるかどうかを判断する処理

行動価値①:負の報酬を獲得する可能性がある状況
行動価値②:それ以外の状況

に分けて実装したいです。

アイデアがある方お願いします。

該当のソースコード

https://github.com/gallardo22/DQN-chainer

補足情報(FW/ツールのバージョンなど)

Python:2.7+
chainer:2.1.0
cupy:cupy-cuda90
PyQt4

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

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

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

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

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

puroko3

2019/01/23 16:19 編集

そもそもdqnの出力自体が質問の通りになっているような気がするのですが、そういう事ではないのでしょうか? dqnの出力は-1~1にスケールされますが、 0より大きければ負の報酬が与えられる可能性が小さく 0より小さければ負の報酬が与えられる可能性の方が大きいと捉える事が出来ます。 負の報酬をもらう確率 = -0.1 = 55% 0=50% 0.1 = 45%
退会済みユーザー

退会済みユーザー

2019/01/24 09:04

ご返信ありがとうございます。 お答え頂いた内容と私の実現したいことは少し異なるかもしれません。 説明不足で申し訳ありません。 最終的な目的としては、負の報酬が得られる状況におけるルールが変わっても再利用できる可能性があるか調査するのが目的となります。 例えば、状況判断を表すニューロンの出力が負の報酬を獲得する可能性があることを示す場合を適当な「1」などとおいて、「1」の場合は負の報酬を獲得する可能性がある状況での行動価値を表す行動価値に対応するニューロンの出力が表す行動価値を用いてε-greedy法にて行動を選択する。 それに対して、状況判断を表すニューロンの出力が負の報酬を獲得する可能性がないことを表す場合は「0」などとおいて(以下略) といった感じです。 githubの方も更新しましたのでお時間ありましたら覗いていただけると幸いです。
puroko3

2019/01/25 09:45 編集

例えば、負の報酬を獲得するかどうかを判断するネットワークと(以下負の予測ネット)負の予測ネットが負を予測した時の行動価値ネットワーク(以下負の行動ネット)と負ではない予測した時の行動価値ネットワークを(以下負じゃない行動ネット)をの3つのネットワークを用意して、負の予測ネットが負と予測したら、負の行動ネットの行動価値(出力)を参照に行動して、負の予測ネットが負ではないと予測したら負じゃない行動ネットの行動価値(出力)を参照にして行動する(ネットワークを3つ用意したのはあくまでも例としてです)。こういう事でしょうか? >最終的な目的としては、負の報酬が得られる状況におけるルールが変わっても再利用できる可能性があるか調査するのが目的となります。 コードをざっと見た感じ、迷路ゲームを学習させたい感じでしょうか? その報酬が得られる状況が変わるというルール及びゲームの内容を具体的に質問に追記して頂いた方が、回答が得られやすいと思います。コードを追いかけるのはしんどいので...
退会済みユーザー

退会済みユーザー

2019/01/25 16:20

ご返信ありがとうございます。 ・ご説明の前半部分について まさにおっしゃる通りで、判断とそれに対する行動価値の処理を担うネットワークの3つで考えています。実際にプログラムにするとどのような形にした方が良いでしょうか? ・後半部分について :迷路ゲームを学習させます。また、任意の位置に立方体を置いて、疑似的な障害物問題に対しても学習させたいです。 :再び説明不足で申し訳ないのですが、ルールというのはゲーム内のルールのことではなく、profit sharing(強化学習の学習方法)における、行動と観測を対にしたもののことをルールと呼ぶことを指します。
puroko3

2019/01/25 17:01

つまり何をするかの考えや理論は固まってるけど、それをソースコードして落とし込むにはどうすればいいのかという質問でしょうか?てっきり理論方面の質問かと思っていました。であればchainerで書いた事ない私では力を貸す事は出来なさそうです...申し訳ない。
退会済みユーザー

退会済みユーザー

2019/01/26 00:11

ご返信ありがとうございます。 おっしゃる通りです。 実装の設計は考えましたが、コードに落とし込むことが出来ていないという現状です。 ご相談ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問