学生時代にやってきたAIの研究の話。
2025-04-04
azblob://2025/04/04/eyecatch/2025-04-04-my-research-ai-000.png

はじめに

はじめまして。
2025年入社、新入社員の山一真也(やまいち まさや)です。

趣味になればいいなー、と最近作曲の勉強を始めた次第です。

あと、部屋の豆苗が思ったより育たなくて困っています。

初回ということで何を話せばいいかわからなったので、背景を交えて学生時代の研究の話をしようと思います。

何をやってきたんですか?

 機械学習の中の強化学習というやつです。環境の中で試行錯誤しながら学習していく学習の手法で、教師データにあたるものがないことが通常の機械学習と異なるところです。
 私が強化学習にはまったきっかけがAlphaGoですね。生成AIが生まれる前、囲碁でAIがプロ棋士を破ったことで大きな話題になりました。私もそれを見て、

2025-04-04-my-research-ai-001

「こういうのを自分でやってみたい!」

なんて思ったわけですね。その当時、人間を超える性能を持つ人工知能にとても憧れました。頭の中ではドラ〇もんみたいなの作れればいいなーと考えていました。(今でも作りたいなーと思っています。)とはいえ、人間を超える性能を持つ人工知能なんてそう簡単にはできません。

具体的にこんなことをやってた

研究内容

強化学習を用いて「人間目線で」迷路を攻略するAIエージェントを開発していました。「簡単じゃねぇのか?」と思いますがAIにはこんな感じに見えています(下図)。なので想像よりも遥かに難易度が高いです。

2025-04-04-my-research-ai-002

これを解くためにいろいろ工夫をしてAIに学習させたわけです。課題を解くために強化学習についてたくさん勉強しました。

勉強について

強化学習のための勉強はこんな感じです。

  • 強化学習の基礎理論。この本をよく見てました。
  • 機械学習によく使われるプログラミング言語であるPythonのコーディング。プログラミングはC言語を触っていたのでここはそんなに難しくなかったです。インデントには何度もやられましたが。
  • 機械学習のライブラリの勉強。Pythonではこの手のライブラリはTensorflowとPyTorchの2強(と勝手に思っている)で、私はPyTorchを使いました。
  • ニューラルネットワークの勉強。機械学習のためには必須。これの勉強が一番難しかったです。

こんなふうにAIを作るための技術をひたすら勉強しました。(卒業まで計3年くらい)

苦労したこと

2025-04-04-my-research-ai-003
  • 勉強面で苦労したこと

 とにかく強化学習とニューラルネットワークの理論の勉強が難しかったです
 特にニューラルネットワーク。非常に勉強することが多くて辛いです。生成AIにニューラルネットワークについて聞いてみましたが、回答がものすごーく長くなってここに載せるのを諦めました。気になる方は調べてみましょう。参考サイト(Qiita)

  • 勉強以外で苦労したこと

 PCのスペックでとにかく悩まされました。
 GPUが10GBのPCでは大規模な強化学習など動かせるはずがありません。学校の研究室にあるPCのスペックがそんなに高くなかったので、10GBの範囲内で動くよう小規模な学習モデルにするのが一番苦労しました。これに関しては後々32GBのPCに変わりましたが、実際のところ32GBあってもまだまだ不十分でした。

結果

 最終的にはブラウザで少しずつ調べながらではありますが、白紙の状態からPyTorchを使ってAIを学習させるプログラムを書くことができるようになりました。AIに関する知識もかなり身についたので学生時代にやりたいことを研究できてとても楽しかったです。研究の過程で今流行りの生成AI、その基礎であるTransformerとGPTについても中身を知ることができたので、生成AIの話を聞くたびに「こうやって動いているんだろうなぁ・・・」ということを想像できて楽しいです。

さいごに

拙い文章ですが、ここまで読んでくださりありがとうございました。趣味でも仕事でも、AIそのものをまた開発できる機会があればいいなぁと思っています。

次回もまた頑張ってブログを書いていこうと思います。

azblob://2025/04/04/eyecatch/2025-04-04-recognition-ai-tomato-flower-development-of-a-pollination-system-000.jpg
2025/04/04
AI/Machine Learning