投稿

3月, 2020の投稿を表示しています

スプラトゥーン2のブキをDCGANで生成してみる

イメージ
こんにちは、ぐぐりら(<a href="https://twitter.com/guglilac">@guglilac</a>)です。 春休み、PyTorch本を買ってPyTorchを久しぶりにまた触ったり、スプラトゥーンをやったりして過ごしていたらこのような記事ができてしまいました。 コロナの影響もあり、引きこもり生活が捗るので、必然的に勉強もスプラトゥーンも捗るわけです。 今回は、スプラのブキの画像をDCGANで生成してみよう、という記事です。 最初にお断りしておくと、うまくできませんでした。ここから続けて取り組むことはないと思ったので、供養のため記事にします。 あまりGANとか詳しくないので、勉強がてら実装、実験してみたという軽〜い気持ちで書いてみた記事なので、軽〜い気持ちで読んでください。 ### 何をやった(やろうとした)のか スプラトゥーンは4 vs 4でそれぞれが好きなブキ(武器)を持って、フィールドをインクで塗り合うゲームです。 ブキの種類によって塗りの性能や、必殺技みたいなものが異なっています。 [【スプラトゥーン2】全武器(ブキ)一覧とサブ・スペシャル|ゲームエイト](https://game8.jp/splatoon-2/158447) ブキごとの以下のようなビジュアルが設定されているのですが、これをGANで新しく作れないかな、というのが今回やろうとしたことです。 <div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-8rWvL5673zc/Xn7AijCwBXI/AAAAAAAAETo/QIl-E8UXiw0XhEZqSI63r-6JiHLaFEYXwCLcBGAsYHQ/s1600/show.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="…

修士生活を振り返って

イメージ
こんにちは、ぐぐりら(<a href="https://twitter.com/guglilac">@guglilac</a>)です。 この春、東京大学大学院情報理工学研究科の修士課程を卒業しました。 <div class="separator" style="clear: both; text-align: center;"><a href="https://3.bp.blogspot.com/-TW0NiG8uzWs/XntMyWJnxKI/AAAAAAAAEQU/5i6voH2eJssE0kDXkPhK_hZBFXMgsdLIQCLcBGAsYHQ/s1600/iOS%2B%25E3%2581%25AE%25E7%2594%25BB%25E5%2583%258F.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://3.bp.blogspot.com/-TW0NiG8uzWs/XntMyWJnxKI/AAAAAAAAEQU/5i6voH2eJssE0kDXkPhK_hZBFXMgsdLIQCLcBGAsYHQ/s400/iOS%2B%25E3%2581%25AE%25E7%2594%25BB%25E5%2583%258F.jpg" width="300" height="400" data-original-width="1200" data-original-height="1600" /></a></div> 修士論文を提出した後に、WWWで開催されるFATES on the WEBというworkshopに投稿した論文が採択されたので、その準備などに慌ただしく追われていると、気づけばもう3月も下旬。(コロナウイルスのせいで、WWWはonlineでの開催になり、自分の発表はビデオ発表になった…

【論文紹介】Collaborative Denoising Auto-Encoders for Top-N Recommender Systems (WSDM2016)

イメージ
こんにちは、ぐぐりら(<a href="https://twitter.com/guglilac">@guglilac</a>)です。 今回は、Denoising Auto-Encoder (DAE)を推薦タスクに応用したCollaborative Denoising Auto-Encoders (CDAE)を提案した、 [Collaborative Denoising Auto-Encoders for Top-N Recommender Systems](https://alicezheng.org/papers/wsdm16-cdae.pdf) を読んだので、紹介記事を書きました。 ### 3行まとめ Denoising Auto-Encoder (DAE)をTop-N推薦に応用したCollaborative Denoising Auto-Encoders (CDAE)を提案。 単純にDAEを適用するのではなく、userごとのembeddingを中間層に加えることで良い性能を獲得している。 ### Denoising Auto-Encoder (DAE) DAEって、元の入力にノイズを混ぜて入力して、出力はオリジナルの(ノイズを混ぜる前の)データと比較するのだと思っているのだけど、 CFでは入力それ自体が欠損しているので、どうやってDAEで学習するのだろう? と最初思って読み始めたのですが、 すでに欠損しているのは置いておいて、入力からいくつかpreferred itemを欠損させて入力して、元のと比べることで欠損しているところを1として埋めようとするdecoderができる、ということだと思います。 そのままuserのinteraction historyを入力とするDAEではなく、userのembeddingも中間層に加えるのが特徴的。 工夫せずにつっこむやり方と比較して良い結果らしい。 interactionのみ扱う 追加の特徴はfuture work ### Collaborative Denoising Auto-Encoders (CDAE) モデルの構成はこちら。 <div class="separator" style="…

【論文紹介】Multiple Pairwise Ranking with Implicit Feedback (CIKM2018)

イメージ
こんにちは、ぐぐりら(<a href="https://twitter.com/guglilac">@guglilac</a>)です。 今回は、implicit feedbackからランキングを学習する手法に、Bayesian Personalized Ranking (BPR)を改善したMultiple Pairwise Ranking (MPR)について読んだのでまとめました。 論文リンク: [Multiple Pairwise Ranking with Implicit Feedback](https://dl.acm.org/doi/10.1145/3269206.3269283) ### 概要 implicit feedbackからランキングを学習する手法に、Bayesian Personalized Ranking (BPR)があるが、BPRでは未観測データをすべて等しく扱っていた。 本研究では未観測データをdislikeとunknownの二種類に分けて学習するMultiple Pairwise Ranking (MPR)を提案。 ### Multiple Pairwise Ranking with Implicit Feedback (MPR) BPRには、 * 観測されたitemは未観測itemよりも好まれる * 各userの好みは独立 という仮定が置かれていました。 MPRでは一つ目の、unobservedなitemを一緒くたにしていたBPRの仮定を緩和しています. unobservedなitemを二種類に分解します。 * dislike * unknown 分解したら、 * observed-dislikeの差 > unknown-dislikeの差 > observed-observedの差 になるように学習します. <div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-Ze4GX_vxh0k/XmBXp1ORFWI/AAAAAA…