#305 「ときメモ」に掛けるパーセプトロンの話

2024/12/1 ·

  • この番組は駆け出しエンジニアの順平と先輩エンジニアの海地 則が送る駆け出しエンジニアを中級エンジニアにレベルアップさせるラジオでございます冬ですね冬だから唇回んないんですね 気合い入れていきましょうはいということでですね今日は



  • 先日というか昨日ですねLT会に参加してまいりまして素晴らしいそこでですね僕パーセプトロンの話をしてきたんですよ急にAIの専門家でも何でもないんですけどAIの中で使われているニューラルネットワークというアルゴリズムの中の最小単位であるパーセプトロン的なところの話をしてきたんですね難しそう難しそうじゃないですか



  • それをすごいポップに話してきたんで今日はそれを焼き増しする回をしようかなといいですね思っております今日は何ですかねその笑える勉強話が聞けるみたいななんかエンジニアのまあでもコンピューターサイエンス分野のまあ基礎っちゃ基礎かもしれないですけどそうなんだまあでも



  • それの満談が聞けるみたいなイメージであってますまあそういう感じですね楽しみだなちょっとスライドないのでねなかなかあれなんですけどなんとか頑張っていきたいと思います長年ポッドキャストやってる力でそうですねこれ話そうと思ったきっかけというかLTでテーマこれにした理由としてはですねやっぱりコンピューターサイエンスってめっちゃ面白いなと思ってまして特になんか



  • なんかすごいなみたいに思ってたやつの裏側が意外とわかりやすくてこれなら確かにこうなるかってなった時の快感みたいな分かった感というか結局コネクティングドッツ感コネクティングドッツ感どうなんだろうコネクティングというよりはなんか



  • コネクティングドッツって感じだななんだろうね仕組みが分かった面白さみたいなところですね意外にこんなもんなんだって大体なりますよねしかもこのパーセプトロンというかニューラルネットワークってめっちゃシンプルめっちゃシンプル



  • シンプルにいけば使ってる関数とかいろいろあったりとか意外と層が多かったりとかちょっと複雑な部分はあるんですけどもめっちゃ単純化したらすっごい単純になるじゃないですかチリツモ系ですよねチリアクタチリアクタあんまり使ったことない日本語そうだねアクタの意味わかんないしということでニューラルネットワーク



  • これはですね人間の脳をそのまま再現しようぜぐらいのテンションで作られたやつなんですねじゅんぺん人間の脳の仕組みって説明できますかもちろんこういうやつが出てきたちょっと待ってちょっと待ってポッドキャストポッドキャストグーと手のひらみたいなやつがいてそこで電気信号でやり取りして情報を渡す



  • グーと手のひらかなあれ需要帯みたいなやつでしたっけグーかなあれだよねアメーバから角生えてるみたいなやつですよねちょっと分かんないどれだろうなんか言おうとしてることは分かるかもしれないですけど分かんないです潰れた目玉焼きみたいな感じですよねもうやめましょうその話トゲトゲフライパンみたいなちょっと分かんなかったですだいたいそうだから



  • 脳の仕組みちょっとわかんないです脳の仕組みわかんないですか細胞があってトゲトゲの丸い部分とそこから伸びてる軸作っていう線みたいなところがあるんですけどそのトゲトゲの部分で電気を受け取るんですよでその軸の部分で次の神経に電気を渡すんですねなるほどこの時



  • いっぱいいろんな電気信号を受け取ります1個の細胞はでそれをもとに何らかしらの判断基準が各細胞にあってその結果これは次に流すぞってなったら流して次に流さないぞってなったら流さないつまり全科無科の法則みたいなやつ多分中学か高校かどっかの生物とかでやる気がするんですけど僕はやってないんで高校だと思いますじゃあ高校生物か高校生物かな



  • 全化無化の法則って電気を通すか通さないかのどっちかになるよみたいなそういう法則があってめっちゃデジタルですねだよねそれは不思議です不思議ですねそれはちなみにこれ電気を流すんですけど次の神経と次の神経間違えた今の神経と次の神経で繋がってなくてその間を通るときって軸先に電気が来て



  • それが化学物質になって次の需要帯に行ってそこでまた電気に戻されるっていう動きをしてるらしいですよなんか光ファイバーみたいですねそうなんです人間はだからネットワーカーなんですよそうですね脳は化学物質に変換されるの?そうシナプス間隙っていう場所があってそこは化学物質が移動するんですよおもろ効率ある効率ねでも超早いらしいからね



  • それですげえな電気来てブシャーって出るみたいな感じかな意味わかんねえこれが脳の代替の仕組みとりあえず神経と神経を電気が伝っていってて通したり通さなかったりするとイントネーション編でしたね通さなかったりするとこれをプログラムでやったものがニューラルネットワークというものなんですねニューラルネットワークまず普通の説明をまずします



  • ニューラルネットワークはまず入力層と呼ばれている入力を受け取る場所がありますとでそこで受け取った入力をですね活性化関数という関数にかけるんですねでその結果0か1が出力されるでそれを次の神経を模したプログラムに渡すときに重みっていうのをかける足す



  • とりあえずその活性化関数を通して出た結果この活性化関数は0か1になるようになってますよね多分違うのもあるな基本小数じゃないですかね基本小数物によると思いますけど0から1の範囲になるんだよねですですそれはそうです一旦ちょっと戻りますよ入力を受け取ったところで活性化関数っていうのをかけるんですねその結果何らかしらの0から1までの値が出力されますと



  • 例えば入力が3つあったときに次の神経にそれぞれいろんな計算された結果0とか0.4とか0.6とかいろんな数字が次の神経に渡されますとその次の神経でもさらに活性化関数にかけて最終的に出力層って呼ばれるところでは0か1を出力しますとものによります日分類の場合は日分類の場合は



  • 1か0で出力します犬かどうか判断するみたいなね犬だったら1犬じゃなかったら0みたいな一方あれですね確かに点数予測みたいなやつとかだったら0から1の範囲で出るけどそれを点数にマッピングしたりしますかっていうことをやってますよとここまでどうですかじゅんぺんくん感想を



  • ちょっと難しい まだ終わってなかった その結果0か1が出ましたとそれをですね 教師データと呼ばれるやつと比べるわけですね今回の入力だったら実は犬だったみたいな 1が出るのが正しかったみたいなでも今回間違って0が出ちゃったよと っていう時に誤差逆電波ということをやるんですねはい



  • この誤差逆伝播っていうのはですねそのままなんですけど誤差を逆に伝播してこれまでなんかいろんな活性化関数だのなんだのって言ってパラメーターをいじってたじゃないですかそのパラメーターの値を調整するやつすごい振り返りですね振り返りすごいさっき投げた球ちょっと右に行きすぎたから左に調整しようみたいなそういうことです戻れるんだ



  • 戻れるというかそれぞれ関数どれをどういう関数をかけるかというのが決まってるんでそのかけ方をちょっと変えるみたいな感じですよねでその結果モデルが次違う出力をするようになりますとはいそして次チェックしたらあってたみたいなこれ要は精度が上がったってことですねで



  • 実際AIっていうのはたくさんのデータを処理して精度を上げていくんでそういうのをめっちゃ何百回何千回何万回何億回何兆回やっていくわけですその結果なんかそれっぽいことができるなっていうAIの基礎部分ができるというわけですねこれが



  • 普通バージョンの説明これをですね今回はポップにしていこうとここまで離脱しないで残ってくれた人ありがとう本当にポップにしていこうかなと思います活性化関数とか言われた瞬間マジやめたくなりますもんねそうなんですよシグモイド関数とかソフトマックス関数とかねいろんな関数があるんですけどとりあえず今回はですね恋愛シミュレーションゲームで考えていこうかなと思います



  • なにそれ恋愛シミュレーションゲームというかある女の子の好みを推論するAIですねうわーテンション上がるかもしれないサービス名はときめきメモリアドレスと言って略してときめもです天才これときめもを作っていこうかなということでまずどんな情報を与えるかというところなんですけどここはシンプルに顔性格金なんか



  • なるほどこれだけを見ていきますまず入力はそれを受け取りますよと入力はその中で重みづけみたいなのをするんですけどここは判定方法を簡単にします重要じゃない重要超重要みたいな



  • っていうぐらいの書く要素がどれくらい重要かっていうのをこの中で決めてますとそれぞれ判断した結果を最終的に判断するジャッジメント裁判裁判ヒロイン裁判にかけますこの結果を見てその結果好きピカ無関心化が判定されるというわけですね日分類なんですね日分類です好きピカ無関心化



  • スキピすら古いかったりするのかなちょっと分かんないけど今もう違うのいや分かんないスキピでいいかもしれないですとりあえずスキピでいくよで実際に結果出ましたと次女の子に聞くんですよどうですかこの人みたいな



  • スキピってなったらスキピ、この人はちょっとってなったら無関心と。で、その結果の誤差を見て各入力に対して重要、超重要、そうでもないってなってたやつをなんとなく調整すると。で、なんとなく調整してその結果次あってたら精度が上がったねってなるし、次あってなかったら上がってないねってなるし。



  • で今ので一巡終了ですとで次にさっき普通の男を突っ込んだんで次はちょっとおじさん突っ込んでみようかとか金持ち突っ込んでみようかとかイケメン突っ込んでみようかとか地下アイドル突っ込んでみようかみたいなっていういろんな試行錯誤をしていってしていってさっきの顔性格お金のパラメーターをめちゃめちゃ調整していった結果出来上がったもの



  • 要は各パラメータどれくらい重要かっていうのがいわゆるパラメータってやつなんですけど最終的になんとなくその女の子の好みに一番近くなるような出力をする状態にたまたまなっていたパラメータのことを学習済みのモデルというわけなんですねこれがニューラルネットワークですそこまでセットでニューラルネットワークなんですかそこまでセットでいや



  • ディープラーニングのAIモデルを作って出すっていうプロセスはそこまでですっていう性格かもしれないですね実際今3パターンでやってたんですけど入力って実際はそうじゃないじゃないですか例えば現実世界はもっと複雑で髪型とか眉毛とか



  • 鼻とかいろんな入力があるわけなんですよさっきも顔もざっくりしすぎてて実は塩顔か否かみたいなのとか醤油顔か否かみたいなそういうパラメータにどんどん細かく分けていったらできるじゃないですかしかも出力もさっき好きピと無関心にしたんですけど友達とかなんか気になるけど好きではないかなとか



  • 嫌いじゃないけど苦手かなとかいろんな複雑な感情があるわけじゃないですかどれが1になるかみたいなのとかも分かんないわけなんですよってなって複雑なのをやろうとしてったらさっきの入力があって最後出力するよっていうだけだと足りないので実は間に隠れそうって呼ばれるですね無駄にいっぱい神経並べてるんですね無駄ではないです無駄にいっぱい並べてますその無駄にいっぱい並べた結果各



  • 間にいっぱいあった方が細かいのを表現しやすいのってなんとなくイメージつきます例えばさっきの顔 金 性格だけだと一個が例えばめちゃめちゃ重要だった場合にそいつの要素がほぼ強くなっちゃってあんまり自由な表現ができないというか



  • 一方もっとたくさん入力のパラメーターがあって間にも中間のパラメーターがあったら例えば顔と金がセットの時になんかやたらと強くなりがちみたいなこととかも表現できるというかということができるようになってより複雑な推論っていうのが推論っぽいことができるようになるというのがですねニューラルネットワークそしてこの隠れ層っていうのをいっぱい作ったやつをディープラーニングって言うんですね



  • 隠れ層が2層以上あるとディープラーニングって言いますはいじゃあ隠れ層いっぱい増やしたらいいやんってなると思うんですけど隠れ層が多いとどういうことが起きるかというとですね一つの処理をやってる間ってその処理の情報を全部メモリに乗っけなきゃいけないんですよなんで増やせば増やすほどメモリがすごい大変になるんですねだから普通のサービスというか普通の人はそんな無限にGPUと無限にメモリがあるわけではないんで現実的な量の



  • ニューラルネットワークの深さとかパラメーター数に収めなきゃいけないというのは難しいところだしそれゆえLLMというかチャットGPTあれは化け物ですパラメーターだってとんでもない数ありますよね何兆とかあるよね多分分からない数十億か数百億か何兆かちょっと待ってください調べましょうかちなみに隠れ層多いと



  • 誤差逆電波もやりにくくなるらしいですね戦闘の方のパラメータまで行き渡らないみたいな調整がGPT-4だと5000億から数兆やばくない?これを動かせるマシンを使ってるわけじゃないですか我々そんなのありがとうございますって感じですよねとんでもないクラスター組まれてると思うんでもちろん



  • 言語モデルとかになるとさっきのディープラーニングをでかくしただけってわけではないんですけどですよね多分時系列で見たりとかいろんなことしてる気がするまあでも理論は一緒だと思いますそうなんだすごくざっくり言うとぐらいのレベルですけど文字をトークンに置き換えたりとかいろんなことやってるんですよねその結果数兆のパラメータを持ってるのが現代の生成AIみたいなあとあれなんですよね多分今言ってたやつって



  • なんかそういうマッチングアプリありませんでしたっけ右か左にシュッてやるやつタップルタップルでしたっけタップルってマッチングアプリ大体そうなんじゃないかって思ってるけどそういうマッチングアプリってこの人はこれ好きなんだこれの人はこういうの嫌いなんだみたいな教師データ作れるわけじゃないですか実際そのデータ集めるのって超大変で自分一人でやるのクソめんどくさいしお金かかるししかもなんか



  • そういう機械学習レンチには単価高いのにそんな単純騒ぎやらせるのってお金の無駄じゃないですかユーザーから集めれるのが一番効率よくてしかも実データだし本当にしかもガチの実データだよねやってる本人が必死っていうそうそうそうそうだからなんか賢い実際どのぐらい裏で使ってるかは分かりませんけどなってんでしょうねガチの実データって言っても信用できるか分かんないんでうんうん



  • ベロベロの状態でやってるやつと まだ混ざってるかもしれないじゃないですかなるほどねそういう意味だとどれくらい信用できるか 分かんないんですけどそういう何でしょうねデータの AIというかアルゴリズムAIかもしれないなっていう最適化する仕組みも大事ですし学習させるのって大変なんですよね僕の少ない機械学習エンジニア経験の話なんですけどさっきのりさん



  • いろんな人がいるかもしれないみたいなおじさんかもしれないしゲームかもしれないしみたいなとかあとは判断させる人もいろいろいるかもしれないですけど僕がやってたLLMとかが発展してる今はちょっと分かんないんですけどもう少し前の機械学習というかAIディープラーニング時代だとそんないろんなユースケース万能で対応できるAIってできなくてそれって何て言うんでしょうねなんか



  • おじさん受け専用の時メモAIみたいななるほどねそういう風に何とかしてユースケース絞っていかないとAIがうまく判断できないんですよねやっぱりそうなんだ全然収束しないです顔の写真も例えば白背景だけみたいなそういう余計な情報をちゃんと切ってAIにかけるとかにしないと全然収束しなかったりするんで今はちょっと分かんないですけどねLLM



  • ぐらいのなんかああいうでっかいAIがちゃんと動くようになってるんでその辺うまくやってくれそうですけどまあでもそれゆえなんか本当に試行錯誤の世界だなってすごい思いますねちなみになんでその話しようとしたんですかめっちゃ面白いこれしか思いつかなくてやばーもっといろいろあるのに暇プロでのりさんがディープラーニングの話なんて一回もしたことないですよね一回もないよ一回もない僕はディープラーニングというかAI系の勉強挫折した男ですから



  • なんかやってましたね3年ぐらいやってましたよへーそんなやつなんですね結構やってましたよそうなんだ一応いい資格受けれるらしいって噂だけ聞いてるんだけど誰でも受けられないっけあれなんか特定の認定されたセミナー受けてないとそもそも受けれないとかありますよねそうですねそれの資格あるらしいですいや大変だったいい資格今思ってもあーそうなんだそうなんだ



  • 久しぶりに掘り起こしてきてこれだってなってすごいいいですね天才でしたときめきメモリーアドレスちょっとスライド後でアップしてスライドデックとかにあげようかなと思うんですけどありがとうございます結構ロゴ気合い入れてますよなんか気になる見たい紺色のどっちやんか紺色の縁に中がピンクでグラデーションになってるんですけど



  • 本家が本家がなってて自分が作った方はメモリアーマーでメモリアーマーで合ってるんでルーを消してドレスに変えるんですけどそのドレスのところを標準のキーノートの機能で縁取ってグラデーションにしてってやるのにめっちゃ時間かけましたそんなことできるんですかキーノートで資料作ったんですかはい



  • 作ったことないマジでキーノートしか使わないんだよな逆にそうなんですねその後最初の固い説明の時黒いのでモデル書いてたんですけど時メモカラーにしてすご作ってました気合入ってますねちょっと後で見ます上げたら教えてください上げます



  • なのでちょっとさっきの説明だけだとちょっとっていう人はねぜひ資料を概要欄に貼っておくのでそうですねそうしましょうそれを見てみてくださいいいですね4分のLTに86枚突っ込むっていうすごいパラパラ漫画突っ込み方がえぐいんですけど3秒に1枚1分あたり2枚だいぶ使うねエンターエンターエンターでエンターのオンパレード気になるちなみにエンディングトーク的にそのLT回エピソードなんかないですか



  • LT会エピソードですか変なLT会ですよね変なって言ったら変わったLT会で1人持ち時間4分で参加者全員LTするっていう団結力がすごい参加者20人くらいいるんで20LTやば絶対4人くらい機材トラブルあったんじゃないですか機材トラブルはないけど優秀



  • 当日来てないみたいなのは何人かいましたね挫折したんですね途中で当日来てないっていうのはあるっぽい感じで出てましたねそれはだいたいつきものかどんなイベントにもLT喋る人が来ないはあんまないんじゃないですか確かになそうだね勉強会参加枠で来ないは全然あるけどだから多分全員LT参加にしたことによってLT発表者っていうよりも参加者の気持ちになっちゃったんだろうね



  • 逆にね実際発表するけどみんな同じ立場だからまあいっかみたいな働きやすいのかもしれないですねすごい攻めたイベントだなそうですねテテミートっていうイベントで肉を食いながらLTをするっていうねミートアップのミートとお肉のミートかけてるんですかねそうですそうですそうなんですすごいいいななんか



  • 我々もできないですかねそういうオフ会いやオフ会ひまプロミートアップっていうのでお肉をあげるみたいなお肉掲げるイベントにするみたいなじゃあなんかイベント開始時になんか机の上に肉を置いといてイベント中にどんどん肉が上に上がっていって最終的に天井につきそうになるみたいなそういうことですかどういうことなんですか



  • でもそういうことです発想はそういうことですもちろん骨付きのワンピース肉ですよねマンモス肉というか見たことないやつ買おうとしたら数万ぐらいするんでしょうあれ売ってないなんか最近商品としてチキチキボーンみたいな感じでたまにクリスマスシーズンとかチキチキボーンは売ってますねチキチキボーンは売ってるんだけど



  • あの骨マンモス肉みたいなやつ売ってますよね商品でそうなんだそれでやるのはあり上がりますねそれは上に?恥ずかしい上がりますねって言っちゃったわ肉がねそういうつもりじゃなかったそういうつもりじゃなかったそういうつもりじゃなかったですちょっと攻めたイベントでしたねいやいいいい



  • いいななんかそのエンジニアイベントも多分充実してきて色を出すのが色々あると思うんですけどそこに一石を投じていきたいですねそうねせっかくなんでね今回僕LTやって思ったことがあるんですけど学びというか面白い発表の法則みたいな



  • 気になるぞこれ僕の好みの問題かもしれないんですけど最初全然なんかエンジニア系関係ないやつと思わせておいて後から突然エンジニアっぽくなるみたいなパターンすごいね引き強いなと思ったんですよね例えばなんかすごい印象に残ったのはそれこそスライド生成AIで作るみたいなやつをやってたんですけど最初



  • 結構LTのイベント的に全然技術よりじゃないことも発表してる人多いイベントだったんですねだからウイスキーの楽しみ方みたいなLTで最初始まって2分ぐらい経った後に実はこれ全部生成AIで作ったものなんですみたいになって急に生成AIの話に変わってった時とかなんか引きが強かったですねウイスキーの方も結構ガチトークだったんで4分枠でそれやるんですねそう



  • ちょっと正確な時間は見てないんであれ体感の話なんですけどすごいな時間短いのに話2個に区切る勇気すごいなあれはすごいね興味引きましたねしかも最初のウイスキーの発表がすごいクオリティ高かった分後ろの生成愛すぎが引き立って確かに良かったなって思いましたね気づかないうちにデモされてたってことなんですねうん



  • いいデモの見せ方かもしれないそういうなんか場面転換あるやつとかすごい面白くなるんだなと思って確かに発見でしたすごいなんかそのジョブズのおもろいプレゼンiPhoneの実はみたいなことですねこの商品は3つじゃなくて1つなんですみたいなそうそうトンデン返し系を間に挟むみたいなそういうことができるとインターネットなんだっけあともう1個なんだっけなカメラ違う



  • ミュージック? あーそうだ iPod だ iPod iPhone iPod インターネットみたいなのでもうお気づきかもしれませんが これは一つなんですみたいな会場ボーンってなるみたいな あれよねそうそうそうそう あれ好きだわーあれの新しい手法ですね そうね うんっていうのと自分が緊張しない方法もね わかったかもしれない すごいそれはちょっと知りたい人多いんじゃないですか ちょっと慣れてきたってのもあるかもしれないんですけど



  • スライドいっぱい詰め込んだら緊張しなくなりますね 終わらせることに集中するんでそれ合ってんの?合ってる 合ってるですね 1分あたり20枚とかですよねそうだね 多いなぁ 多いですねでも資料見たら まあまあまあ わかんない 一個一個は小っちゃいよ 変化がありがとうございます ぜひまたどっか行ったら教えてください



  • じゃあ締めますかはいよはいハッシュタグひまじんプログラマーでSNSのXでフィードバック募集してますのでLTのコツとかあとは何スライドの感想そうですねやだないらないですスライドの感想お待ちしてますいらないですねスライド多い以外であとはポッドキャストの説明欄からGoogleホームで番組のお便り要望感想質問何でもお待ちしてますのでお願いいたしますお願いしますお願いします



  • あとは各種ポッドキャストプラットフォームでのフォローと高評価お待ちしてますのでお願いしますお待ちしてますではありがとうございましたあなたが落としたのはこの金のサーバーですかそれとも銀のサーバーですかいいえ私が落としたのは普通のウェブサーバーですすみませんあなたは正直者ですね全部のサーバーをあげましょう



  • 正直者のエンジニアは不可分散ができるようになりましたそれを見ていた欲張りな男がサーバーを落としましたあなたが落としたのはこの金のサーバーですか?へい、その金のサーバーを落としましたどうやらあなたは嘘つきのようですそう言って女神は帰っていきました欲張りな男は復旧できないサーバーの前でわんわん泣いていました



  • サーバーを落としたくないあなたへひまじんプログラマーの週末エンジニアリングレッスン

0:00 31:46

#305 「ときメモ」に掛けるパーセプトロンの話