DeepMindのAIと脳神経科学の関係の記事を読む

ランニングできず 英語できず

(1) pythonでの自然言語の頻度分析をmecabで行っているが。結果をファイルに書かない不具合対応に2~3時間費やした。

どの様な言語でもcloseするとメモリーにキャッシングしたデータはファイルに書出すが

pythonはf.flushで明示的に行なわないとファイルに書き出さない。

    f = open('output.csv',w)

    for word,cnt = noune_list.items()    #名詞(word)の出現頻度(cnt)のリスト

        s = word + str(cnt)+ '\n'

        f.write(s)

   f.flush   #明示的にファイルに書出しを指示する

   f.close

(2) DeepMindのハザビスが書いた記事「Neuroscience-Inspired Artificial Intelligence」を読む。

http://www.cell.com/neuron/fulltext/S0896-6273(17)30509-3?_returnURL=http%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS0896627317305093%3Fshowall%3Dtrue

汎用AIを推進するについて、脳の研究成果は示唆として参考にするが、汎用AIは脳研究とは別であるとの考えを示している。どこかの団体が汎用AIの為に脳研究からアプローチしているが、数学や統計の理解が少ないと脳神経科学の仕掛けに頼ってしまうことを警告している。

 

 

 

Abbeelの論文アルゴリズムは報酬が得やすい初期状態の探索になっている

テニス4時間 英語:できず

(1)AbbeelのGoalからの強化学習の論文の下記のアルゴリズムがGoalからStartへ明示的に逆に辿る手続きになっていなく、理解が難しい。

このAlgorithm1の4、5行目の{S_g}をStartsに入れているのは間違に見えるが、Goal近辺から摂動を与え繰返し毎に徐々に状態を増加させているが、その状態は報酬を得やすい場合に限っている。

Procedure2のSampleNearbyは初期状態を乱数アクションを加えて変えていて

乱数的な初期状態を作っている。Train_polはトラストリージョン(TRPO)の方策改善である。多分Selectがこの論文の最大の寄与で、報酬が得られる初期状態を選んでいる。このアルゴリズムの意味はGoalから報酬が得られやすい初期状態の探索アルゴリズムになっている。

上記の理解だとすると、この論文の適応範囲は行動の摂動のみで状態が変更できる簡単な操作モデルに限定されると思われる。

f:id:mabonki0725:20170730194832p:plain

確率ロボテックスが改めて難しい理論と再認識する

ランニングできず 英語:20分 Toiec

(1) Tゼミで「確率ロボットの輪講15章」一ヶ月振りのせいもあるが、やはりPOMDP(部分観察マルコフ決定過程)は難しいと感じた。POMDPの文献は本当に少なくチャンスとも云えるので詳細に読むことにする。あとは16章のみ残すだけである。

(2)Nextrema社での論文読会。2論文の解説があったが、やはり聞くだけでは殆ど理解できない。しかしSさんにあって最近のDeepMindのSさんの理解を聞き。殆ど読んでいた論文で安心した。

 

ロボット学で学習手順を生成する論文を読む

ランニング30分  英語できず

(1) 米国のロボット学の権威Pieter Abbeelが参加した論文「Reverse Curriculm Generation for Reinforcement Learning」を読む。これは最終目的から初期状態へ逆に解く強化学習によって自動操縦手順を自動生成するモデルである。

[1707.05300] Reverse Curriculum Generation for Reinforcement Learning

DeepMindのUNREAL自然言語理解の論文を読むと、初歩的な理解から複雑な理解へ順に学習させると効果的である事が実験で確かめらているが、その手順は必ずしも明確になっていないので、この論文に興味を持つ。

(2)秋葉原で開催された「深層学習による自然言語の本」の勉強会に参加する。多分この手の本は勉強会に出ないと読むことはないだろうとの判断である。しかしRNNやLSTMの話だけなので興味を殺がれる。DeepLearingをどの様に利用するかは大事なテーマだが、DeepLearning自体は数学的には明確でないので退屈なだけである。

 

DeepMindの倉庫番ゲームの論文を纏める

ランニングできず 英語:Toeic

(1) DeepMindの倉庫番ゲームの論文「Imagination-Augmented Agent s for Deep Reiforcement Learning」がやっと読了した。難航した理由は以下である。

 ・重要な単語の意味の取り間違え

  (Augmented →Argmented  rollout→rollover  unroll →unrole)

 ・model-freeについて記述が少ない

 ・同時期の論文「Learning model-based planning for scratch」との強い相関想定

やはり意味が取れない場合は丁寧に読む必要があることを学んだ。

凡その概要は掴んだと考える。

倉庫番の様なゲームでは、計画や方策が無いと荷物が通路を塞ぎ解けなくなる。この様なゲームのモデルでは計画を推定するのが必要である。

f:id:mabonki0725:20170728110622p:plain

この論文のモデルはI2A(Imaginateion Augmented Agents)と云い、所謂DQNの拡張版であるA3Cの画面の特徴量から深層強化学習であるModel-freeに将来状況を予測するModel-basedでアシストするものである。Model-basedは将来の3から5先を予測するだけのImparfect Model(不完全モデル)であるが、これを補助としてModel-freeで解くと精度が向上するとの内容である。

f:id:mabonki0725:20170728112336p:plain

問題は次の状況と報酬の予測ICモデルの構築であるが、これはModel-free(画面の深層RL)を使って多数データを生成しCNNによる逆強化学習(負の対数尤度)で方策{\pi}を学習させている

f:id:mabonki0725:20170728121209p:plain

 

 

 

 

DeepMindのI2Aモデルの倉庫番ゲームの論文を読む

ランニング30分 英語できず

(1) 学校の研修用に以前書いたOpenPoseの論文資料からアルゴリズムを1枚に纏める

Open posedoc

f:id:mabonki0725:20170727081558p:plain

(2) DeepMindの行動計画の論文「Imagination-Augmented Agents for Deep

Reinforcement Learning」(I2A)を引き続き読む。

このモデルの実験はSokoban(倉庫番)で指定のセルに荷物を押すだけで収納するゲームであるが、通路を荷物で塞いでしまうとデットロックになって失敗する。そのため前もって模擬が必要なモデルとなっている。

下記の場面は、I2Aが右側にある模擬の候補を生成して、最適な戦略を選択(最下段)している場面である。この様な事が可能なのは、このモデルがBellman方程式を模した多段階のCNNモデル(Enviroment Model)を複数生成しているからである。I2Aはこの多段階の結果をLSTMでエンコードしてModel-Basedとし

Model-Freeと統合したモデルとしている。Model-FreeはGameの内容に依存せず画面から直接学習するDQNを並列化したA3Cのモデルである。このモデルによって安定化が図られている。

f:id:mabonki0725:20170727123301p:plain

Pythonで不芳情報の言葉のカウントをする

ランニングできず 英語できず

(1) 企業の自然言語の不芳情報分析を開始する。

・まず形態要素解析のMecabをインストールする

$sudo apt-get install libmecab-dev user #mecabインストー

$sudo apt-get install mecab mecab-ipadic-utf8  #辞書のインストー

$pip install mecab-python3 #Pythonライブラィのインストー

$mecab  #mecab実行

すもももももももものうち
もも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ

 

Pythonで不芳情報の言葉の数をカウントする

mport pandas as pd
import MeCab
import sys

import collections

#不芳データの読込

df = pd.read_excel("~/yosin/special_info.csv")  

dft = df.NLP   #不芳情報の自然言語の列
#df = df.dropna()
print(dft)

m = MeCab.Tagger()  #Mecab

noun_list = [] # 名詞のリスト

#データの件数毎の処理
for i in dft:

 #Mecab形態素解析の行毎の処理
     for l in m.parse (i).splitlines():
           if l != 'EOS' and l.split('\t')[3].split(',')[0] == '名詞':    # 名詞のみ抽出
noun_list.append(l.split('\t')[0])   # 名詞の追加

noun_cnt = collections.Counter(noun_list)  # 名詞毎の数を算出

# 名詞とその数の表示

for word, cnt in noun_cnt.items():
 print(word, cnt)

・結果

資金繰り  20

債務超過 12

ショート 19