今年度から院生になるので、せっかくなのでこれまでの卒論についてざっくり説明していきます。 自分は高専から大学に編入していて、卒論は二回書いているので高専と大学の卒論を両方とも紹介していきます。
将棋の棋譜を用いた感性分析(高専)
キーワード: 将棋、機械学習、感性、認知心理学、分析
多分、題名でなにやってるか何となくはわかると思います。将棋の棋譜を用いて感性を分析しました。
概要
将棋は、みんなが知っている「王様」を捕まえたら価値のゲームです。 カードゲームとかと比べるとルールは単純ですが、奥深く、勝ち負けが自分の実力で決まり戦術の幅が広いことから、将棋界では**「将棋は人の心を映す」**とよく言われており、永世七冠を達成し国民栄誉賞を受賞した羽生善治氏も「将棋の一手一手に嘘はない、(中略)本音で語っているのと同じである。」と語るほどのゲームです。要は、人と人とが会話するプロトコル(規約)の一つで、言語のようなものだと自分は考えています。
つまり、局面を見てその人が決めた手にはその人の感性が入っており、専門家であるプロ棋士でさえ局面によって手が変わります。
そこで自分は、局面から指した手によってその人の性格を予測できるんじゃないかと考えてこの研究を始めました。
ちょっと詳しく
もちろん、予測するのはいわゆる AI なので、学習用のデータ収集から始まります。 プロ棋士の棋譜は山ほどネットにあるので、あとは性格についての情報を取得する必要があります。 ここが難点であり盲点でした。
将棋をしている知り合いが全然いないまま、将棋部の後輩たちにアンケートをとって、SD 法と言われる感性工学ではよくある手法で調査し、因子分析で似たような感性をまとめてデータは準備完了。 機械学習は畳み込みニューラルネットワークを用いて約 3 万局面を学習させました。
結果は、棋風(将棋の指し方の性格)に関する誤差の二乗和平均の根が一つの感性語対あたり 0.041513と小さい結果が得られたが、そもそも棋風の集計が微妙だったり、性格については微妙だったりとまあまあ何とも言えない感じでした。
感想
高専は1年半の期間があったので、一から認知心理学を勉強したり感性工学会を調べたり、将棋ソフトについて調べたり自分で作ったりと楽しかったです。 結果についての敗因は将棋の知り合いの少なさが一番かなと思っています。 将棋には感性が含まれていることは(感覚だけれど)間違いないと信じているので、いつか誰かがやってくれないかなーなんて思っています。
秘匿計算の構成及び処理速度に関する研究(大学)
キーワード: 暗号、秘匿計算、準同型暗号、秘密分散共有法
高専と比べたら、タイトルでは何やってるか全然わかりませんね。やってることは大したことではないです。
概要
なんでもインターネットで解決できるようになってきている情報社会ですが、実はあなたが今このサイトを見ている情報はだれでも盗聴し放題なのです。 電波を飛ばしている以上しょうがないことなのですが、盗聴されたとしても何が書いているのか全く分からなければ安全ですよね?それを実現しているのがいわゆる暗号です。 Alice と Bob が LINE をしていると考えてみましょう。Alice と Bob はあらかじめ暗号を復号できる鍵を持っておきます。 そうして、送りたい文章を暗号化して送信すれば、第三者がその電波をキャッチしても、得られる情報は 0 に等しく、安全に二人でチャットを続けることが可能になります。 この暗号は数学的な理論が使われている為、どうやっても現実的に情報を得るのが難しくなります。 攻撃者からしてみたら厄介な技術ですが、よく考えてみると暗号化がされていない瞬間がありますよね...? そうです、復号化して生の情報を持っている Alice と Bob を狙えばいいのです。
二人の個人間での話でしたが、話を大きくしてみます。あなたが Twitter を利用していると仮定して、あなたと Twitter との通信について考えてみましょう。 あなたは Twitter にフォローしているユーザーや位置情報、誕生日といった個人情報を渡すことによって、Twitter からあなた専用のサービスを受けています。 あなたと Twitter との通信間では暗号技術が使われている為、安全であると言えます。 なので、攻撃者はあなたの個人情報をはじめとした全ユーザの個人情報を入手できる Twitter のサーバーに攻撃をするようになります。 いや、さすがに Twitter に限ってそれはないやろーとか思うかもしれませんが、実はこういうサイバー攻撃にやられる原因のほとんどが社員などの人為的なミスによるものです。 サイトやメールの添付ファイルからマルウェアが入り込み、いつの間にかサーバーにアクセスする鍵を入手されて個人情報が流出してしまうのです。
そうなってくると、サーバーでも暗号化しとけよーと思うかもしれませんが、あなたの個人のサービスをするためにはどうしても復号化しないといけないので難しそうですよね。 しかしそれを実現する方法があります。それがタイトルにもある秘匿計算という技術です。
秘匿計算は、通常の暗号のようにデータを秘匿化する機能に加えて、暗号化した状態で計算ができる機能を持った技術です。 これがあればサーバー内で復号化しなくても個人に向けたサービスが可能になります。夢のような機能ですが、計算時間や安全性の面から実用化が難しく、現在も盛んに研究されています。 この論文は、その秘匿計算のいくつかの手法を実際にクライアントサーバーシステム(あなたと Twitter のような関係)で構築し、実用化に向けた評価を行いました。
ちょっと詳しく
現在、この秘匿計算を実現する方法は
- 準同型暗号
- 秘密分散共有法
が挙げられます。準同型暗号は、暗号・平文空間に準同型性といった性質をもった暗号を用いる方法で、秘密分散共有法は、データを暗号化するのではなく、シェアと呼ばれるいくつかの断片に分割して複数のサーバーに保存してもらう方法です。 現在は後者の秘密分散共有法が速度と安全性と柔軟性から実用化として注目されていて、実際に株式会社オルツさんが秘匿計算で機械学習をする基盤を発表しています。 個人的には、この秘密分散共有法があまり好きではなく~~(というか暗号という言葉にロマンを感じている)~~、どうしても準同型暗号に花を持たせたくて調査をしていたところ、八元数代数を用いた完全準同型暗号に出会いました。
八元数について軽く説明すると、皆さんはいままで自然数、整数、有理数、実数、虚数と習ってきたと思いますが、この虚数が 7 個になったやつをいいます、例をあげると、
こんな感じのやつです。これに代数の性質を持たせてなんやかんやすると準同型暗号になるのです。 すごいですよね(他人事)。この暗号が、公開鍵暗号であり、また柔軟性には劣りますが、速度が秘密分散共有法より良いといった結果に至りました。
これからも準同型暗号が押してほしいのが個人的な願望です(/・ω・)/
感想
これについても、一から調査していって色々実装して、復号化が成功したときはテンション上がっていた記憶があります。 楽しかったです。これがきっかけにセキュリティに関心をもち、将来も考えるようになりました。先生や先輩方には感謝しています。<(_ _)>
おわりに
あまり文章をだらだら書くのが好きではないのに結構書いて申し訳ないです。ここまで読んでくださりありがとうございます。
暗号についてはこれからもお世話になると思うので、勉学、研究を頑張っていきたいと思います。
参考文献
- 羽生善治, 決断力, 角川書店
- 株式会社オルツ, 分散型ニューラルネットワーク基盤「al+ emeth(オルツ・エメス)」を発表, https://alt.ai/news/news-alt-meth/