Socherの意味理解の論文を読む

テニス2時間 英語30分 Lesson25

(1) Socherの論文:文章意味理解で語句をベクトルと行列で定義して、その統合を重みをニューロで実現するモデルが難解で理解できない。古典に入る論文なので是非理解したいと焦る。注目すべきは、知識ベースを反映するモデルになっている事とテンソル問題として解いていることである。

https://nlp.stanford.edu/pubs/SocherHuvalManningNg_EMNLP2012.pdf

読んでいる内に胃が痛くなり途中で断念する。最近自分には論文を読むのは身を削る思いをする。若く体力もある時代に当然すべきことをしなかった報いと痛恨の思いである。

 

 

論文読み会の内容が自分の関連の延長だった

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

(1) 月1回開催されるNextrema社のAI論文読会に参加して、自分もIRSとGANの関係の論文の説明する。

Irs gan doc

 斉藤さんはDeepMind社のレア(Pdeudo Count)な局面選択に報酬を与える論文とゲーム場面の価値を密度表現したグラフィカルCTSの論文 

Unifying Count-Based Exploration and Intrinsic Motivation

https://arxiv.org/abs/1606.01868

Count-Based Exploration with Neural Density Models

https://arxiv.org/abs/1703.01310 

両論文とも複雑なゲーム場面の特徴量抽出の問題を扱ったもので、コンペで優勝した日立の飯塚さんの実績がDeepMind社の論文になっていた。

 壱岐さんはエネルギーベースのGANの論文

Deep Directed Generative Models with Energy-Based Probability Estimation

https://arxiv.org/abs/1606.03439

T研で米岡さんがこの論文説明をした資料が紹介されていた。エネルギーベースはGANの損失関数(エネルギー関数)の微分が計算できるので、生成精度が見えるという特徴がある。VAEの考え方も入っているので再度読む必要がある。

自分の直近の関心と同じ内容の論文が紹介されたので、方向性に安心感を持つが、偶然の可能性が高い

(2) ラズパイ・マウスのwifi接続に悩む

 上田本の記述通りでwifi接続できないので、M先生と悩む。たまたまROSの勉強会に出ていたT君の情報で、上田本の記述の訂正が上田ブログに掲載されていたことを知り、この手当てをするとwifi経由でssh接続が可能になった。しかし学内のwifiではセキュリティの関係で使えないことが判明した。T君がDeepLearning用のサーバ購入を打診するとM先生から肯定的な回答があり、幾らでも予算がある感触を得る。

GitHub - ryuichiueda/raspimouse_book_info: 「Raspberry Piで学ぶ ROSロボット入門」の情報ポータル

 

感情を強化学習(RL)でモデル化する論文を読む

ランニング30分 英語30分 Lesson24

 (1) 感情とロボテックスの論文を読む。

[1705.05172] Emotion in Reinforcement Learning Agents and Robots: A Survey

強化学習の「報酬と局面」認識を内部環境として下図のAとBの様にとらえ、選択の幅を拡張しようとする考え。

f:id:mabonki0725:20170520060602p:plain

RLのBellman方程式の意味するところは、局面毎の価値Qは将来の報酬の漸化式であるので、天文学的な組合わせの将来の全局面を推測する必要を意味している。

f:id:mabonki0725:20170520061546p:plain

この問題を解決したSuttonの偉大差は、局面を特徴量に分解し、価値Qを特徴量の線形回帰モデルとして一般に解けることを示したことである。即ち、価値Qが最適化するほど経路選択幅が縮まり、さらに価値Qが最適化しやすくなる収束モデルを考案したことにあり、これはAlpha碁に至っている。

残された問題は局面をどの様に特徴量として分解できるかの問題で、局面の捉え方が効率を左右するので、下記の様な好奇心が大事だとのサイトが出現する。この点は飯塚氏のDo2tleのマリオ報告で「できるだけレアーな局面になる様に選択」も同様と考えられる。この意味で上記論文で感情を局面選択でモデル化することは意義があるが、特徴量の分解を理論的に解く課題になっていないことが残念である。

pathak22.github.io

 (2) ラズパイ・マウスのWiFI設定で上田本の通り設定すると、OSが立ち上がらなくなり元に戻せなくなりデットロック状態になる。想定した問題なので、本日大学でUNIXに詳しい先生と相談する。

 

 

言語の意味を考えてみる

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

 TeamAIの掲載記事から感情とロボテックスの論文を読み始める。強化学習は報酬の最適化で行動が決定されるので、報酬量=好悪の感情と考えると当たり前なのだが、言語の意味理解に参考になるかもしれないと、長い論文だが読んで見る。

[1705.05172] Emotion in Reinforcement Learning Agents and Robots: A Survey

 言語の意味とは、その表現が「他人(動物も)に伝わって」成立するとすること定義できる。他人に伝わらない表現は意味を成さないから明白である。絶海の孤島では自分が他人の役目なのである。「伝わる」ことは、その状況Sと表現Rでの自分と相手の内部モデル(R,S)がよく似ている事を示し、言語の意味とは「自分と相手の内部モデル(R,S)が似ていることを確認できた」事を報酬するものと考えられる。

 自分がwindows用で作成したAIツールをPythonに移行するためwxPythonのサイトでPythonGUIを学ぶ。Xwindowのwigetが基本にあると思うが、複雑なGUIが実現できるか不明である。

wxPython tutorial - Python GUI programming in wxPython

 ラズパイ・マウスのWifi接続のため、Buffalo社の親機子機USB端子(WLI-UC-GNM2)600円でPC間で通信を試みる。Buffalo社に問い合わせるとPCのwifi接続は出来ないと回答があったが、この通信ソフトのアイコンの下図のプロパティを見ると事前共有キーがあり、これをノートPCwifiのセキュリティーとして入力すると以下の構成で接続できた。

屋外=ルータ=有線=PC(親機USB端子)~無線~ノートPCwifi

f:id:mabonki0725:20170519105359p:plain

CNN-SLAM論文読みとROSの復習

テニススクール90分 英語30分 Lesson23

 昨日にのOSインストールに続きラズパイ3スにROSインストールする。ラズパイとで無線で通信するのでWifi接続を試みるが、ルータ経由の無線環境が自宅にないので作業が中断する。ルータの無線カードが中古で5000円もするので躊躇するが、ラズパイ・マウスを自宅で作業するなら仕方がないと考える。

  引き続きCNN-SLAMの論文を読む。単眼カメラによる位置認識SLAMなので、複数の位置からのカメラ画像(key-Frame)がいる。基本的には3D-SLAMの奥行き認識にCNNの学習を使って精緻化している。奥行き認識ができればCNNの領域認識はおまけの様に記述している。CNNに奥行き認識を向上させる為にカメラ焦点距離と訓練画像の焦点距離の比を使って補正している。また奥行認識から適切な地図を作るため、近くのkye-Frameとの相関を使っている。

https://arxiv.org/abs/1704.03489

f:id:mabonki0725:20170518082657p:plain

 

f:id:mabonki0725:20170518070125p:plain

 ラズパイ・マウスの勉強会があるので、32bitのノートPCにUbuntu14とROSをインストールする。

sshで通信できないのは、sshdサーバが起動していないので以下で起動する

 $ sudo apt-get install openssh-server
 $ ssh -V
 $ sudo vi /etc/ssh/sshd_config
 #PermitRootLogin without-password コメント化
 PermitRootLogin no   #追加
  $ sudo /etc/init.d/ssh restart

 

以前読んだ小倉本「ROSで始めるロボットプログラミング」の記述に従い、USBカメラ 亀の走行 democl_demoのrvisを実行してみる。流石に1年振りにダウンロードするのでエラーも出る。 

 $ roscd turtlebot_gazebo/launch/

 $ sudo vim amcl_demo.launch

 <include file="$(find turtlebot_navigation)/launch/includes/amcl.launch.xml">
  ↓
 <include file="$(find turtlebot_navigation)/launch/includes /amcl/amcl.launch.xml">
$ roslaunch turtlebot_gazebo amcl_demo.launch

 

 f:id:mabonki0725:20170518065002p:plain

              上記のdemo図のrvisの表示

aaaaa.png

 

 

 

 

ラズパイにubuntu16を入れる

ランニング30分  英語30分 Lesson 23

  学校でのSLAM研修のため、終日 上田本に従ってラズパイ・マウスを稼動させる作業を行う。

f:id:mabonki0725:20170428075234p:plainf:id:mabonki0725:20170517073247p:plain

この本はラズパイ3(ARM64ビット機)上にOS ubuntu16 ROSでSLAMを実現するものだ。64ビット機なのでDeepLearningの学習結果も実行できる。

用意するもの ラズパイ3  MicroSD32M  MicroSDドライブ  PC(Linax)  Lan接続

 まず本の通りにしてUbuntuのPCよりUbuntuのOSのイメージをMicroSDにダウンロードして、ラズパイ3に入れても黄色のランプが点滅せずOSが立ち上がらない。pingを通しても返ってこない。

そこでラズパイのサイトからRasbianのイメージを入れた経験を生かしてWindowsからダウンロードした。

https://wiki.ubuntu.com/ARM/RaspberryPiよりラズパイ3をダウンロード

②これはgx形式なので7-zip(download出来る)で解凍するとimgファイルになる

Win32 Disk Imager 0.7 - ダウンロードでimgファイルをMicroSDに複写

④ネットワークに繋がったラズパイ3にMicroSDに入れる。

sshでログインする。自分のLAN環境ではラズパイ3のIPは192.168.1.7なので

   ssh ubuntu@192.168.1.7

でLoginすると拒否される。上田本を読むと /.ssh/known-hostsに前の設定があるので消せてあるので、これを削除してsshを再度実行するとpasswdを聞いてくる。

 passwdをubuntuにすると入れた。

深夜になり宮本さんの勉強会(5/23)にラズパイ・マウスの掲示があるので申し込む。多くの人が同じ興味を持っていることに驚く。

kikaigakushuu.connpass.com

 

 

 

 

 

 

wxPythonでAIツールを再作成することにする。

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

 CNN-SLAMの論文を引き続き読む。ROSのマニュアルで単眼カメラでどの様にSLAMを実現しているか議論したことがあるが、これを使っていると判明。これにCNNで3Dの画像認識を訓練させている。領域認識はReal-SLAMで行っていていると記述があるが多分Real-Deep -Encoder-Decoderの様なものを使っているとしか考えられない。

自動代替テキストはありません。

 仕事でグループ内のAI会社と打合せで、XGBOOSTをPythonでなくRで実装していると聞き、相当ガッカリする。今時Rを使うとは、このAI会社は新しい事は殆ど知らないと推察する。急遽XGBOOSTをPythonで稼動させようと思うが、windowsではサポートしていないことが判明し苦労する。

 PythonでAIツールを提供できれば、windowsから脱却できるのでwxPythonGUIを作ることにする。やはり有料のMFCより数段簡単であるとわかり、つくづくwindowsは時代遅れと認識する。

wxPython_panel_01

01 # -*- coding: utf-8 -*-
02  
03 import wx
04  
05 application = wx.App()
06  
07 frame = wx.Frame(None, wx.ID_ANY, u"テストフレーム", size=(300,300))
08 frame.SetBackgroundColour("#000000")
09  
10 r_panel = wx.Panel(frame, wx.ID_ANY, pos=(0,0), size=(80,300))
11 r_panel.SetBackgroundColour("#FF0000")
12  
13 g_panel = wx.Panel(frame, wx.ID_ANY, pos=(80,0), size=(80,300))
14 g_panel.SetBackgroundColour("#00FF00")
15  
16 b_panel = wx.Panel(frame, wx.ID_ANY, pos=(160,0), size=(80,300))
17 b_panel.SetBackgroundColour("#0000FF")
18  
19 frame.Show()
20 application.MainLoop(