開発メモ-20220707
現プログラムについて、学習がなかなか進まない。
原因は、
・行動しはじめるまでの学習時間が長い
・行動しはじめると多少の報酬増減では行動を変えない
点だと思う
そもそも、原始的な生物のイメージとして
5感からの入力・処理と
運動用の処理は独立しているように思う。
[今考えているイメージ]

なので、5感からの入力が波及する信号だけで運動野を制御するのは
理にかなっていないと思う。
捕食活動とかに学習が必要とは思えない。
上記を現プログラムに照らし合わせて改良点を考えると、
運動制御用の脳細胞に何か適当な信号を与え、ランダムに近い行動だけは
学習初期からできるようにすべきだと思う
ので、運動野のうち、各カラムの500番~600番を強制的に
発火させるようにした
開発メモ-20220619

なぜ私の作るプログラムは成果がでないのか
ロボットの生育時間がたりない
生物の生育時間は長すぎる
ネコのように喋らない生物の模倣であれば
生育期間をかけないのではいいのではないか?
そもそも心に、長い生育期間は必要なのか?
歩き方、喋り方なんて初めから実装されてても、心の獲得には問題ないのではないか?
==========
まとめた後のノート
1:脳細胞をプログラムで再現する障害
昔、人間のような行動を機械に取らせるにはどうすればいいか考えた。
考えた結果、人間は脳細胞のネットワークによって行動を決めているのだから
脳細胞をプログラムで模倣すれば実現できるだろうと考えた。
そして脳細胞をどう作るか考えてきた。
が、今1つ壁に行き詰っている。
それは成長が遅すぎるという事だ。
当然ではあるが、生物らしく成熟するには数週間、数か月かかる。
つまり、人工的に作成した脳細胞の成果がわかるのに数週間、数か月かかるということだ。
これは長すぎる。
生物は、生物としてほぼ成熟することが保証されているからこれでも良い。
しかし、機械の脳細胞はどう成長するかわからない生物のようなものだ。
その成熟に数週間かかっていては、人間並みの機械を作れるのは相当先になる。
生物が成熟に時間をかけることによる効果
話が脱線するが、生物はなぜ生物らしく成熟する事を(ほぼ)保証されているのか。
最初は生物ももっと細胞も少ない原始的な構造だった。
そこから、生き残りやすい特徴をもつ個体が生き残って進化し、複雑な構造を手に入れた。
だから、適当に作ったプログラムでは適当に動く原始的な生物しか作れない。
複雑な構造の生物を作るには、数億年の進化で培われた部分をプログラムで調整しないといけない。
「複雑な構造」とは何か。
赤子を半身ほどプールに入れると、歩行のような動きで進むらしい。
つまり赤子は、歩行しやすい体を生前から持って生まれてくる。
歩行の動作は1から獲得するものではなく、獲得しやすい体・環境を生まれ持っている。
この人間らしい行動を獲得しやすい体こそ、「複雑な構造」にあたると思う。
だから、人間をプログラムの脳細胞で再現するには、
歩き方、飛躍して様々な行動の仕方をあらかじめプログラムしておくのも有用な選択肢の1つだと思われる。
私はもともと、プログラムの脳細胞に1からすべての行動を学習することが、心を持つロボットを作る秘訣だと思っていた。
しかし、短時間で開発を作るには人間並みに生育に時間をかけられないし、
あらかじめ体の動かし方をプログラムしておくことはそれほど心を実装するのに邪魔ではないと思う。
邪魔ではないと思う理由は、人間らしい行動は、肉体から与えられるものなので、結局どんな人生でも大体同じ動作だからだ。
生物は遺伝子でしか体の生育をプログラムできないし、幅広い環境で生存できるように、ゆっくりと淘汰という調整をしながら進化していった。
それに、記憶を掘り起こせば、人間、1から行動を発明することはどれほどあるだろうか。
特に歳をとれば、未知のことがあっても既存の行動パターンから類推して決断していないだろうか。
だから、歩いたり喋ったりを1から獲得しなくても、人間のような心は機械で再現できるのではないだろうか。
今後の開発方針に照らし合わせてまとめると、
今まではロボットに「手足の動かし方」「言葉の話し方」などを1から学習させていたが、
これからはある程度行動の選択肢をプログラムに入れておき、
「どの行動を選択するか」をプログラム上の脳細胞NWに委ねてみようと思う
開発日記-20220603

2000万の脳細胞を用いたNNへ、とりあえずの学習として
vtuberモデルのモーションを学習させている。
が、うまく動作していないのか学習はあまり進んでいない。
脳細胞が発火しすぎている気がする
発火の傾向をもう少し調整した方が良いかもしれない
開発日記-20220527

プログラムの読み書きについて、今まではメインプログラムは変数をファイル保存、
サブはデータベース保存にしていたが、ほとんどの変数をデータベース保存に変更した。
実際は5/15くらいにはデータベース保存にしていたはずだが、先日結構深刻なバグがありそれの改修に追われていた。
恐らく改善したと思う。
現在、毎晩のぞみ1号を稼働させて学習させるようにしており、学習期間を長くとって何か生物のようなふるまいが出ないか観察している。
現状は、脳細胞が反応しすぎな感がある。
多少反応を減らしても良いのかもしれない。
開発日記-20220518

◆データベースの速度について
HDD上のデータベースとSSD上のデータベースへのアクセス速度で
何故かSSDのアクセス速度のほうが遅いという状況であった。
この点について進展があった。
まずSSDは外付けタイプなので、USB接続する必要がある。
PCは7年前のもののため、USB3.0は無いと思っておりUSB2.0で接続していた。
しかし、PCに実はUSB3.0が存在することがわかった。
ということでUSB3.0経由でSSDのデータベースにアクセスさせたところ、
現プログラム上での話だが高速化する事が確認できた。
1回動作に1100秒 → 950秒程度
の現象が見られた。
ただしHDD上のデータベースへアクセスする形でも1000秒前後ではあるので、それほど大きな差ではないようだ。
とりあえず、SSDの方が「遅い」という状態は脱却した。
◆プログラムの処理について
現在、現プログラム(ニューラルネットワーク)に対して
入力・出力・報酬を用意して長時間放置する
というテストを準備している。
うまく説明できないが、
原子生物は5感・手足・神経の3セットで長時間動作することで
入力・出力を神経でうまく制御しているように思う。
報酬を、例えば「あ」~「お」の順で喋るごとに与える、などで
多少生物に近づくような気がする
いつもの発作的な思いつきなので、これらは確実な推理ではない。