BiRNNのメモ

本記事はbi-directional RNNについて勉強したことをメモ書きしたものです。

メモ書きなので、正式に執筆したものは、追々リンクを載せます。

RNNとは

RNNとは時系列処理にふさわしい形をしたニューラルネットワークのひな型みたいなもの。中間層における処理の流れは一方向で以下のような形をしている。

リアルタイムな入力とかに対応できる。

https://agirobots.com/wp/wp-content/uploads/2021/01/image.png

BiRNNとは

RNNは処理の方向が一方向に限定されています。しかし、時系列データにはいろいろな形があるので、それぞれのデータの形に合わせて相応しいモデルを定義してやる方がいいですよね。ですので、時系列データの全体が分かっている状態ならば、過去から未来へのパスだけでなく、未来から過去へのパスも使用できるはずです。これがBiRNNです。

https://agirobots.com/wp/wp-content/uploads/2021/01/image-1.png

 

 PyTorchとか使ってコーディングするときは、forwardのみ定義すればいいので、簡単。

前向きのパスと後ろ向きのパスについてそれぞれの中間層ノードと、出力ニューロンの式さえモデル化すればOK

 

ロボットが少しだけ歩けるようになった?感じがします!

本日の日記です。今日は、午前中に一コマだけ授業を受け、その後に、たまっていた大学の課題をいくつか消化してました。昼食後は気分転換に近くの池に散歩?ランニング?しにいきました。その後は、オリジナルで自作中の四脚歩行ロボットのプログラミングの続きをしました。ちなみに、昨日、既に歩けそうな動きは実現していて、以下に動画を載せます。


少し歩いてる感じ?になった!

 なんか、一生懸命に逃げようとしているように見えますね(笑)

これは昨日やったことです。今日トライしたことは、上に示した動画ではロボットが進まないのをご理解いただけるように、ちゃんと歩くようにすることです!

で、いろいろ試してみたんですが、どうも歩けるようになりません。

もしかして電力が足りないのではと思って、 使っているサーボのスペックについてを確認してみたら、今使ってる電源では全く足りないことが分かりました💦

今使用しているのは、5V10Aの50W電源です。しかし、全てのサーボが最大パワーを出すには6.8V2.2A×12個(各脚3自由度×4本)で、約180Wの電源が必要であることが分かりました。電源のキャパは最低でも必要な量の1/3にすら達していませんでした。そりゃ少し重そうに動くわけだ、、、

ということで、もっと大きな電力が供給可能なものを購入することにします。

とはいえ、問題は電源でだけではないと思います。プログラムの改良も必要でしょう。使用しているPWMサーボは、オリジナルに改良したもので、角度が取得できるので、その機能を使って脱力状態のサーボを自分が手でモーションを実演し、それをキャプチャしてみることにしました。

結果、モーションキャプチャはまあ上手くいたんですが、こちらが予想した歩行動作を読み込んでも、実際には歩けなかったんですよね、、、

何度もキャプチャを改良しながら歩けるようにすることを考えたのですが、現実的ではないなあというところです。泥臭くて賢くないやり方です。

なので、強化学習(とくに深層強化学習)が使えないかなあと検討しているところです。犬猫の動画→CNN+強化学習+Unityとか?

ということで、今日決めたことを以下に残しておきますね。

  • ロボットが動くことは確認できたので、今後の動作構築は強化学習等を検討しましょう!(等と書いたのは、他のやり方もあるかもしれないからで、神経科学とかで、神経振動子モデルってあると思うんですが、それも試したいなあと)
    →つまり、本格的に強化学習の勉強を始めようということです。
  • もっと大きな電力が供給可能な電源装置を買います。

 といことで、4足歩行ロボットに関する今後の計画は上記のような感じです強化学習はUnityを使うことになるかと思いますが、追々載せますね。

ちなみに、まだ4足歩行ロボット完成してないのに、2輪もしくは1輪のジャイロ搭載ロボット面白そうだなって思ってて、近いうちに開発しようと思ってます!

あと、kindleで簡単に本が出版できるってことを知ったので、何か本を出せないかなと思ってます。

 

ROSってRasbian上で動かないの?

ここ最近、ROSやりたいなーと思って、いろいろ調べてるんですが、調べていると、ラズパイにUbuntuを入れると書いてある記事ばかりが目立ち、下手したらRasbianを使用しているブログがないのかなと思いました。なので、Rasbian上でROSって動かないのかどうか調べました。

結論

できないことはない。しかし、面倒だよってことです。

ROSってビルドが結構面倒くさくて躓くって聞いたことがあるので、その点、既にビルド済みのOSがUbuntuで公開されているなら、その方がいいですね。

なので、ラズパイでROSを触るときは、ROS用に1台用意するのがよさそうです。

はてなブログ始めました

はじめまして!

はてなブログ始めました。今回は、初稿ということで、いろいろ思ったことを書いていきたいと思います。

実は前にもはてなブログやってた!

実はというほどでもないですが、当ブログを始める前にも、はてなブログ書いてたことがありました。5年ほど前ですかね。技術系のブログを真面目に書いてました。当時は高専1年生だったので、当時の自分なりに真面目に頑張っていたつもりです。

じゃあなんでやめたのよって思うでしょ?単純な話です。WordPressに興味を持って執筆をやめちゃったんです。

で、最近まで真面目に執筆してきたWordPressサイトがこれ↓

agirobots.com

 最近まで?って、いや別にやめてません。今後も書いていきます。でも、はてなブログを開設したのでそれぞれのブログの位置づけを変えようと思ってます。

自分が運営しているWordPressのブログはAGIRobots(由来は汎用人工知能AGIとRobotが好きだ方からです)で、このはてなブログのサイトも一応URLにagirobotsが含まれてますw。

WordPressで作成しているサイト(AGIRobots)について

ちょっとした宣伝ですが、AGIRobotsという私が運営しているサイトでは、WordPressで製作されているサイトでよくみられる形式の文体で書いてます。で、内容は人工知能機械学習、ロボットに関する内容です。結構まじめに執筆しているつもりなんですが、どうも堅苦しいというか、意識的に真面目にかかねばならん!という感じがして、執筆にかなりの時間と労力を割いてるわりには、見に来てくれる人が少なく感じてて、ちょっと疲れてきました。なので、第2のブログとしてはてなブログを立ち上げましたのです。とはいえ、WordPressで執筆しているAGIRobotsのサイトは自分にとって息子みたいなものですし、大好きなので、今後も続けていきます。

AGIRobotsとはてなブログでは何書くの? 

最も重要な問題は、ここです。2つもサイトを持つのはいいけど、何書くんだオラァ~ってかんじでしょ? いまから説明します。

自分にとって、WordPressでは完成度の高い記事を書いていきたいと思っています。一方で、はてなブログでは、まさにこの記事のように、崩壊したような文体でイージーに執筆したいと思っています。適切にイージーさを交えると、トータルで考えれば生産性が向上すると信じています。

です。特に、内容で分けようとは思ってません。簡単な感じでつらつら~っとメモ書き程度に書きたいなと思ったら、こちら側(はてなブログ)に書きます。ちゃんと書きたいなと思ったらAGIRobots本家のほうに書きます。

もしかしたら、記事の要約とか記事を執筆した経緯とか長ったらしく本系のブログには書きたくないことをこちら側に書くかもしれません。

日記について

あと、はてなブログの方では、毎日日記を書いていきたいと思っています。もちろんこんな感じでラク―な文体でです。本家のブログだと、超真面目に執筆しようとおもっっちゃって、日記書くだけでも1時間とか書けちゃうかもなので。

 

では、よろしくおねがいしま~す!