そうっすよね。あーなるほどな。なんかその、私も大学生って10年前とかですけど、塾講師やってて、アルバイトで。
はいはい。
で、まあ高校生中学生もいるけど小学生とかもいたんすよね、同時。
はい。
小学生、5年生、6年生みたいな。その子とかはタブレットみたいなのも自分の持ってて、でなんか帰り、自分の生徒を送るときに塾の外に出てさよならとかやるんすけど、
もう30分とか1時間前ぐらいにさよならって言った子がまだいて、お母さん、車の迎えを待ってたみたいな。
で、何やってんのかなと思ったら普通にマイクロやってたんすよね。
うん。
で、しかもその友達と。
はい。
で、だからそれ小学生だったんす、当時10年前ぐらいに。
うん。
だからその子はもう大人になってるってことかな。
そうですね、11歳とか12歳だろうから、まあ大人になってるかもしんないすけど。
で、多分そのぐらいの子らってだからもう本当にそういうレベルからなんか普通に友達とオンラインでなんか遊ぶみたいなのはみんなやってるってことですよね、きっとね。
うんうんうん。
確かにそんなのなかったもんな。
ほんでやっぱそのゲーム自体がどんどんどんどん進化していってるから、多分なんか昔僕らがやってたようなゲームと、僕らが子供の頃に遊んでたようなゲームと、今の子おらが遊ぶゲームやと、もうなんか難易度が上がってるというか。
うーん。
なんかそんな気するんですよ。例えばマインクラフトもなんかカジュアルに楽しむことができるけど、建築とかも突き詰めようと思ったらめちゃめちゃ突き詰めれるし。
はいはいはい。
で、なんかマルチプレイのオンラインサーバーとかでPVPのゲームモードとかにはまったらもうその上には上がめっちゃいるしみたいな。
はいはいはい。
スマブラとかもね、なんか僕らがやってた時代だと、なんか地元の誰が、俺らの地元では誰が一番強いみたいな。
家に集まれる範囲とかでね。
そうそうそうでしたけど、今やったらもう世界中で繋がって世界ランキングで、どこまでも強いやつとやれるみたいな。
確かに確かに。
なるほど。
すごいなーと思ったけど。
間違いないですね。だから僕らなんかそのオンラインとか、オンライン対戦できますみたいな出た時ちょっと怖くなかったですか?
え、オンラインで知らない人とやんの?みたいな。
あーうんうんうん。
最初そういう感覚があった気がするんですよね。モンハンとか。
確かに。
そうゲームボーイ、ゲームボーイじゃないかあれなんだろう。
なんかそういうのでオンライン、Wi-Fiにつないだらオンラインでできるみたいな出た時に。
いや自分はもうちょっとオンラインはやらないです。みたいな人も結構いた気がしてて。
あーなんか確かにそんな空気感ちょっとあったような記憶あんな。
そうそう、なんかそんな感じでしたよね。なんかね。昔って。
うん。
え、オンラインゲームやってんの?みたいな。
あ、確かに確かに確かに。
だから今はもうそんな感覚じゃないんでしょうね。もうね。
あー確かになそうやな。そう、なんかそうやな。僕昔やったらオンラインゲームやってるっていうだけで結構なんかそういうなんつったらいいの?ギークな感じというか。
うん、すごいオタクの人って感じですよね。昔だったらね。
昔やったらあったけども今なんか当たり前ですもんね。
そうですね。全然なんか何の違和感もなくオンラインにつながってますよね。
そうですよね。いやほんまやな。
いや確かにな。
そう。ほんでそういうなんかもうめちゃめちゃ上手な人らと一緒にやっててね。最近思うのはほんまにゲーム上手くなりたいなって。
改めて。
うん。ほんまに悔しいんですよね。
なるほど。
だからやっぱイルカさんには、いやイルカさんにはできないでしょうみたいな。
あおられるんですか?
そうめっちゃあおられるんですよ。リマッチっていうゲームでもいろんな技があるんですよ。
あーなるほどね。
なんかブレードショットとか。
ブレードショット?
そう。かっこいいアクロバティックな技かつゲーム上でも普通に対戦的にも強いみたいな。
はいはいはい。
なんていうんですか。メカニクスっていうんですか。トリックみたいななんかそういうのがあるんですけど。
それなんすか。出すコマンドがすごい難しい。入力が難しいみたいなことですか。
入力がシビアな技とかもありますし。
格ゲーみたいな。
そうそうそうそうそう。そうなんですよそうなんですよ。だからほんまにサッカーと格ゲー足してみてよって感じなんですよねリマッチは。
あーなるほどなるほど。
そうだからイルカさんにはできないんでしょうとか煽られながら。
はい。小学生中学生に。
そう中学生とかに。中学生とか高校生とかに。
そうやって言ってなっつって。
みんながイルカさんには無理って言っても俺は誰一人イルカさんのこと信じてなくてもイルカさんはイルカさんのこと信じてるからっつって。
不可能を可能にする瞬間をみんなに見せてあーイルカさんにもできるんだって。やっぱ自分が自分のこと信じることが大事なんだってことを教えてあげるねっつって。
言ってねやってるんですけどね。
いいっすね。だからそのなんだろう、オンラインゲームを子供たちがやってますはまだふーんって感じはしますけど、
それはさらに実況を多分見ていて、さらにそれに視聴者として参加しながらやるみたいなのとかも結構もう一段階上ですよね。レベルが。
そんな親知ってんのかなみたいな。親知らないんじゃないみたいな。
確かに。そう、だからほんまになんか全然、リスコードとかもやっぱりいろんなコミュニティのサーバーがあるし、
ほんまにゲーム1個でもめちゃめちゃなんかいろんな人と繋がる入り口になりますよね。
いやすごいなぁ。それで言うと結構、そのエンジニアになって、SIRからそのWeb系に行くみたいな時に、
要はSIRだとインフラばっかりやってたんですけど、そのサーバー立ててどうのこうのみたいな。
でもその、僕はプログラミング書きたかったんですよね。プログラム。
その時にちょうどAPEXとかいろいろやってて、結構僕はそこに思いを馳せてました。
というのはその、なんだろうな、このマッチングとかってこうなってんだろうなとか、
こういうアップデートってエンジニアが裏でこういうふうに動いて実装してんのかなとか、
この確率ってこういうふうに計算してるのかなとか思いながらAPEXやってましたね。
はいはいはいはいはい。
そうそうそう。
そうですよね。そう思い馳せますよね。
思い馳せてましたね。
うん。
いやでも僕ゲームの開発とかやったことないんで、よくわかんないんですけど。
はい。
なんかアプリケーションもね、物によってはすごい難しい物とかもありますけど、
なんかゲーム難そうですよね、作るの。
そうですね。
まあでもどうなんですかね、そのUnityとかUnreal Engineみたいなのが、
いわゆるそのなんか、超複雑な部分を担ってんのかなとも思いますけどね。
物理演算みたいなのとか。
うんうんうん。
どうなんだろうな。
確かに。
ほんまになんか、もういい加減エンダードラゴン倒すとか言って企画してやったりとかしたら、
え、イルカさんまだエンダードラゴン倒したことないの?嘘でしょみたいな。
マジっすか、そんな感じなんだ。いや僕もうないっすよ、エンダードラゴン。
そうないですよね。
ないっす。
やっと一生懸命その、あれですよ。なんだっけ。
要塞、ネザーの要塞に行ってあのキノコみたいなやつ取れてやったみたいなそういうレベルですよ。
ネザークォーツ、ネザーウォート。
ネザークォーツか。
ネザークォーツ。
あの薬の材料になるやつね、薬っていうかなんだっけ。
ポーションとかのね。
あ、ネザークォーツがあれポーションの材料になるんでしたっけ?
あれ違いましたっけ?
いやちょっと僕もわかんないですけど。
どっちもよくわかってないっていう。
奇妙なポーションを作るのにネザークォーツがいるんじゃないかな、たぶん。
あれなんかブレイズロットから作れる、ブレイズパウダーからポーションで作るんじゃなかったでしたっけ?
それも結構汎用的にいるやつですね。たぶん両方なんか結構量産しないといけない系の気がします。
ネザークォーツはそういうのに使うんだ、知らんかったな。
たぶん。
そんなこんなんで、ちょっとそろそろトックさんの技術トピックでも聞かせてもらいたいなと思ってるんですけど。
いきます?
はい。
ちょっと前々から調べてたアルゴリズムというか、問題というかトピックがあって、
ちょっとね調べてから時間経ってるんでちょっと忘れちゃってるかもしれないですけど、
タワンバンディット問題みたいなのをちょっと紹介したくて。
はい。
聞いたことあります?これ。
タワンバンディット問題?
なんやねんタワンってみたいな感じですよね。
聞いたことないかもしれないですね。
そうっすよね。これタワンバンディットってそのスロットマシーンのことですね。
カジノとかに行って、カジノかどうかわかんないけどスロットがあってそのレバーを引く。
どの台を引けばいいのかっていうのを選ぶっていう話で。
要はパチンコでもなんでもいいんですけど、台があって、よく当たる台と当たらない台があって、
当たる台にかけ続ければお金がもらえます。報酬がもらえます。
でもどれがどのぐらいの確率かわかんないわけじゃないですか。
わかんないですね。
だから試してみないと確率を調べようがないわけですね。
そういうときにどういうふうに報酬の最大化を設計すればいいか。
そういうのが効率がいいでしょうみたいな問題の話で。
これも広告プロダクトとか作ってるとよくあるんですよね。
広告って裏でこの広告はどのぐらいのインプレッションがあると何%クリックされて、
そのうち何%がコンバージョンされるかみたいなのを計算して予測して、
そういうコンバージョンされやすいとかクリックされやすいものがよりたくさん出るように計算するんですけど。
でもそれ計算するためにデータがないと計算できないんで。
これいい広告なのか悪い広告なのかよくわかんないみたいなやつもちょっとずつ出さないと一生同じものを出すわけにはいかないんで。
でもそれってどれぐらいの割合で出せばいいんだろうみたいなのがどうやって決めたらいいかわかんないじゃないですか。
確かに。
そういう問題です。強化学習の問題ですね。
これいくつかこうすればいいよねみたいなのがあって、要は探索と活用みたいなことですけど、
探索っていうのが要は未知のものを出してみる。
未知のスロットマシンを引いてみる。
で活用っていうのは、要は今ある情報でこれが一番稼げそうだからじゃあそれを出しましょう。
それをじゃあ引きましょう。っていうのが活用の方で、そのバランスどうしますかっていうやつで、
有名なアルゴリズムでいうと、例えばなんかイプシロングリーディ法とかいうのがあって。
イプシロングリーディ法、はい。
イプシロングリーディ法。
イプシロンっていうのが、イプシロンっていう確率でランダムに探索。
でその逆の確率、1-イプシロンの確率で最良のものを選択するようにするといいよねっていう。
これなんか単純になんだろうな。
じゃあ10%はよくわからないやつ引きましょう。
90%は一番良さそうなやつを引きましょう。っていうアルゴリズムというか、
割合でただランダムに引くか良さそうなやつを引くか選ぶっていう感じですね。
これは面白くもなんともない。
うんうんうん。
で、UCB法っていうのがあるんですけど、ちょっとこれはね、あんまわかんないな。あんまわかんないし、あんま面白くないんで。
よく選択される方式を言うと、トンプソンサンプリングっていうのがあるんですよ。
はい、トンプソンサンプリング。
で、こんなので引くといいよみたいな。
うん。
これはまさに強化学習的なアプローチで。
うん。
まあなんだろうな。
最初はランダムに引くしかないかもしれないですけど、ランダムに引いたら、
1番の台、2番の台、3番の台って確率が出てくるじゃないですか。確率っていうのは。
まあスロットで例えると、0.7%の確率で当たりますっていうスロットと、
0.5%で当たりますっていうスロットと、0.3%で当たりますっていうスロットがあったら、
その情報が本当に正しいんだったら0.7を引いときゃいいじゃないですか。
はい。
でもこれでデータが十分集まってなかったら、たまたま1番、0.7って今やってるやつが高いだけかもしれないですよね。
うん。
なんでトムプソンサンプリングっていうのはそこを、その0.7%だったら、0.7%の確率でサンプリングする。
うん。0.7%、ほうほうほう。
A、B、Cってその0.7、0.5、0.3だったら、0.7の確率、0.5の確率、0.3の確率でそれぞれ引いてくるってことですね。
ちょっとなんか全然説明になってないな。
その確率分布で試してみるんですよ、要は。
うん。
分かりやすくというか。
うんうん。
0.7%の確率で試してみたときに、0.7%の確率当たるんですよね。
当たるかもしれないし当たらないかもしれないんですけど。
で、それを試行してみて、一番良さそうなやつを使う。
一番良さそうなやつというか、そのサンプリングの結果、一番期待値が高いものを選ぶ。
あんまり良い例になってない。分かりました?今の。
ちょっとあんま分かってないかもしれないですけど。
まあそうっすよね。
0.7%…0.7回…0.7…あ!
0.7、0.3、0.1みたいになってたら、その割合の配分で実行していくみたいな。
まあそう。ベータ分、成功確率を一応ベータ分布っていうので表現するんですけど、
そのベータ分布っていうのは、もちろん確率が高いと報酬が高くなるようになってますね。
だから、0.7…まあ0.7って言うんですよ。で、何が起こるかっていうのはちょっと難しいんですけど、
当たる当たらないのに日じゃないので、ちょっと難しいんですけど、
0.7だと、0.7…70%の割合でそいつが引かれるみたいなイメージですね。
うん。うんうんうん。
まあ、日にすると70%の確率で当たる。
うん。うんうん。
で、0.3のやつと0.7のやつを比べた時に、
単純にランダムでどっちかを選ぶんじゃなくて、
常に毎回抽選するってことですね。
まあ毎回抽選してランダムで選ぶんだけど、そのランダムっていうのが、
その成功の確率分布に従ってより出やすくなっている。
ああ、はい。
もっとだから具体で言った方がいいのかな。だからPCVRがじゃあKPIだとして、
PCVRとかCVRが、要はクリックされやすさの予測値の確率があるとするじゃないですか。
はい。
それが0.7とか0.8とか0.5とかバラバラになっていると思うんですけど、
それをそれぞれ、要は0.8の確率で当たるように乱数振ってみるんですよ。
サイコロ振ってみるんですよ。
うん。
そうすると当たったりもするし、0.8のやつを振った時って、
10回中8回は当たるけど10回中2回は外れるじゃないですか。
うん。
その外れた時は選ばれないってことです。
選ばれる度表に上がらないってことです。
うんうんうん。
だから80%でクリックされる広告を、
80%でクリックされる広告70%20%みたいなのがあったら、
はい。
その3つの中で3つのどれかを出すのを決めるやつも、
その通りにするってことですか。
そうそうそうそう。
素晴らしい理解力。
へー。
それがいいんや。
そう、それが今のところ良さそうだよねっていう感じみたいです。
へー。
なんで良さそうなんやろ。
でもなんか良さそう。なんか良さそうやねんけどなんでなんやろっていう。
なんでなのかちょっと分かんないんですけど。
へー。
でもなんか良さそう。なんか納得感ある。
そうそう。だからなんかのレコメンドシステムとかもそうだし、
さっきの広告とかのクリック率による最適化みたいなのに、
トンプソンサンプリングとか使うといいよねみたいな。
そう、この話だからよく出てくる割に私があんまりいつもよく分からず見たんで、
開放はいっぱいあるんだけど、今なんだか、Aスターだっけ?ちょっとあんまり詳しくないですけど。
なんとかってアルゴリズムを強化したやつが、今んところいいよねってされてるからそれを多分採用されてるけど、
こういうのを多分研究してる人たちが新しい方法を思いついたらそれが最良になるって感じだったんですね。
うーん。
なるほどね。
面白いですよね、これ。
面白い。
こういうのが、こういうのってすごいエンジニアがこういうの考えついたりとか、
学者さんみたいなのが、マッチングアルゴリズム研究してる有名な学者さんとかいるじゃないですか。
そういうのが社会実装されていてとか、こういうの考えてる人がいる。
それはエンジニアやったりとかエンジニアじゃない学者さんだったりするんですかね。
エンジニア?コンピューターサイエンスとかの研究者って感じじゃないですか、コンピューターサイエンスの分野の。
とか、まあでもこのターンバンディットアルゴリズムの強化学習系の分野かなと思いますけどね。
ラーニングの中の強化学習っていう分野。強化学習って要は事前、教師なし学習ってやつですよね。
事前にトレーニングしないんだけど、どうやったら最適に進めれますかみたいな。
私が見た例とかだと、お箸みたいなペンみたいなのを上に立てて、下にモーターで左右に動けるやつがついてて、
手のひらに棒を乗せてバランス取るみたいな行為があるじゃないですか。倒れないように。
人間がやると別にいい感じに手を倒れそうな方向に持ってったら倒れないようにできると思うんですけど、
それをロボットにさせようとした時に、どれぐらいの速度でどっちの方向にタイヤを動かせばいいのかっていうのを、
強化学習でやるとできるよねみたいなのを見た気がしますね。
だからスコアリングして、その棒の角度の倒れ方みたいなのは多分パラメータとして渡ってくるんで、
それを強化学習で学習させると。要は何の事前に、これぐらいの角度だとこれぐらいの加速度がいいよってだから知らないんですよ、その人。
知らないんだけど、やっていくとだんだん学習して結構いい感じに安定してくるって。
強化学習のざっくりとしたイメージってそういう感じなんですか。答えを最初から何も知らないけれども、自分でいろいろ試してみて、
こうやってみたらこんなもんやったから、こんぐらいでやってみたらこんなもんやった。
アホんなら結局こうやってやるのかこんぐらいでやるのか言えんやろか。
そんなイメージですね。やってみて、ああそういうことねって言って理解して、フィードバックするっていうループを回す系のやつだと思います。強化学習っていうの。
でもできるだけ棒が倒れへんようにしろとだけ言ってある。
最初は結構大きく動いちゃうんだけど、だんだん学習してくると安定するみたいな。
この辺もちょっと面白いっすよね。
おもろい。興味深いよな、機械学習系。
そうですよね。
なんやよ、わかってへんもんな。
ニューラルネットワークとか。
なんとなくそういう、なんていうんですか。
人間の脳細胞を模した仕組みでおもみとかをつけてみたいな話とかがやっぱり気になってみますけど、ちゃんと理解できてるわけじゃもちろんないから。
そうっすよね。
すげえよなーって。
すみません、今の話とかだと棒が倒れたら倒れたってわかるし、棒が倒れなかったら倒れてないって明らかにわかるじゃないですか。
でもLLMみたいに入力に対してよりインプットに対して自然、インプットの文章に対する返答としてより自然な文章っていうのをどう判断すんのっていう。
LLMは教科学習じゃないと思うんですよね、たぶん。
たぶんですけど。あれは事前にいろんな文章を読ませてる。めちゃくちゃ大量に読ませてるって話で。
で、文章を見ると例えばその、なんだろう、今手元のメモだとシンプルだがパラメーター依存が大きいっていう文章がありますけど。
シンプルだがパラメーター依存がっていう文章が来た後に、大きいってくる確率がどんぐらいあるよねみたいなのをひたすら計算してるみたいなイメージだと思うんですよ。
そういうことか。
今は代表的アルゴリズム、EGREEDY法みたいな文章があったときに、その説明で確率エプションでランダム探索が可能、シンプルだがパラメーター依存が次にくる言葉は何でしょうって言ったときに、
大きいっていうのは一番高いよねで、大きいって出してるって感じだと思うんですよ。
小さいもまあまあ高いかもしれないけど。
依存が男ですの、その男ですはすごい確率が低くて、大きいっていうのはすごい確率が高い。
じゃあ大きいかな、次は。
そういうのを連続で出してるって感じだと思うんですよ。
教師あり学習の教師、LLMを学習させていく上での教師って、この世の中にあふれてる大量の文章が教師ってこと?
そこはちょっとわかんないですね。これ教師なし学習なのかもしれないですね。
教師あり学習もやるし、教師なし学習もやるみたいな話を、
実際ほんまに正しいかどうかわかんないですけど、ちゃんと勉強してないんで。
聞いた記憶ある気がして、どういうことみたいな。
今みたいな話で、それが教師あり学習で、そうやって学習させていってるみたいなことだったらめっちゃしっくりくる。
めっちゃしっくりくるんですけどね。
なるほどね。教師あり学習って、それが合ってるかどうかっていうのを教えてあげるってことだと思うんですけど。
今私が言った、その確率的にうぬんかんぬんっていうのは、どうなんだろうね。
ただ文章を読ませただけの場合って、教師なし学習な気がしますけど。