サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猫
ir5.hatenablog.com
会社で書いていた論文が機械学習トップ国際会議の NeurIPS 2019 に採択されたので12月8日から14日にかけて開催地のバンクーバーに発表のために行っていました。近況報告も兼ねてその様子をメモ書きしてみようと思います。 会場の Vancouver Convention Center 自分について エンジニアとして働いています。研究を行い論文を書くことを主として行う研究者ではなく、実用上の問題を解決するための仕事をしています。今回論文を書いて発表を行うことになったのは、解きたかった問題の解決方法がまだ世の中に知られていなかったため自分で新たに編みだす必要があり、それが論文としてアウトプットする価値があったという事情に基づきます。 発表した内容としては「ニューラルネットの学習ではメモリ消費が非常に大きくなりGPUのメモリから溢れることがあるが、その消費量を再計算という手法によって削減する
2019/06/30 に arXiv にアップロードされた論文である The Ramanujan Machine: Automatically Generated Conjectures on Fundamental Constants を読んだのでその概要をメモしようと思います。 概要 円周率 $\pi$ や自然対数の底 $e$ といった数学の定数を含む式は規則的な項を持つ連分数で表現できることが知られています。例えば wikipedia からの引用ですが以下のような等式が成り立つようです。 論文ではこのような形の等式に関する予想をコンピューターに自動で発見させる手法を提案しています。結果として、これまでに知られていなかった予想を複数個得られたと著者は報告しています。以下は見つかったとされる予想の一例です。 著者らの発見したこれらの等式には数学的な証明はありません ("予想"であるため)
気がついたらPFNでエンジニアとして働いてほぼ5年が経過しました。入社までの過程とそれ以降について軽く振り返ってみたいと思います。 大学入学より前 さかのぼりすぎ?って感じもしますが、せっかくなので書きます。 小学6年生の冬休みあたりからプログラミングを始めました。当時は子供心ながらゲームを自分で作ってみたいと思っており、よくわからないけどプログラミングというやつをやればなんか作れるらしいということで始めました。まだ家にインターネットが無かったので図書館で本を借りたりして学びました。やがて家にもADSLだかなんだかが来てインターネット上で近い世代でプログラミングしている人々と交流するようになります。当時は twitter のような便利なものは無かったので個人サイトの時代です。 中学・高校は地元の公立校に通っていました。中学は不良が跋扈して荒れているというほどではないにしろ治安もそこまで良く
SmoothLife はライフゲームを連続的に拡張したもの。6年くらい前に出て、少し話題になっていたりした。 普通のライフゲーム(復習) ライフゲームでは、無限の広さをもつグリッド盤面で、各セルに生と死のどちらかの状態が割り当てられているものを考える。 セルの状態は時刻を経るごとに遷移していく。遷移のルールは単純で、次のように表される。 あるセルが生のとき、周囲8近傍のセルで生のものがちょうど2つか3つならば次も生である。そうでないなら次は死になる。 あるセルが死のとき、周囲8近傍のセルで生のものがちょうど3つならば次は生である。そうでないなら次は死のままである。 初期のセルの盤面の状態を決めると、この遷移ルールによって先の全ての時刻での状態が決まる。ライフゲームの興味深い点は、生と死の状態をうまく配置することで多様なパターンを作り出せることにある。斜めに移動し続けるグライダーはその有名な
Rust で競プロする話について書こうと思います。ちなみにこの記事は競プロアドベントカレンダーの7日目の記事です。 Rust とは何だったか Rustは速度、安全性、並行性の3つのゴールにフォーカスしたシステムプログラミング言語です。 (公式サイトより引用) Mozilla が開発しているコンパイル型のプログラミング言語です。 ムーブセマンティクスや変数の寿命といった独特な機能によってメモリの安全性やデータ競合の安全性をコンパイラが保証している点や、プログラミングする上で便利な構文が用意されているのが特徴的です。 言語の機能としては例えば imos さんの記事とかが詳しいです。 開発の世界では最近注目が集まってきているような気がしますが競プロではまだまだ使われている場面が少ないので、布教も兼ねてどういう感じか紹介したいと思います。 競プロで C++ 使ってるけど、Rust 使う利点/欠点は
「最高落下速度(20G)」かつ「クラシック方式の回転法則」という高難易度環境のテトリスで良い感じに動くゲームAIを作りました。以下はそのデモです。 ソースコードをgithubで公開しています:https://github.com/ir5/tetris20g-ai ゲームのルール テトリスは知っている方が多いと思いますが改めて説明すると、10x20くらいのフィールドで次々に空から降ってくるピースを操作して地面に固定させ、横一列にブロックが揃ったら消える、というのを繰り返すゲームです。 ”普通の設定”で動くテトリスのゲームAIは世の中にたくさんあるようですが、今回はよりタフな設定でゲームAIを作りたいと思ったので以下のような高難易度要素を取り入れました。 落下速度:20G 普通のテトリスではピースは1マスずつ落下していきますが、これを加速させて最高のスピードにするとフィールドの上部に現れたピー
流し読みだとちゃんと分からなかったのでメモ。 準備(AlphaGo) policy network : 盤面とその特徴量を入力として受け取り、各マスに打つ確率を返すニューラルネット。 value network: 盤面とその特徴量を入力として受け取り、その盤面での勝率を返すニューラルネット。 AlphaGo ではまず policy network をプロの棋譜データから教師あり学習で事前学習させ、その後自己対戦による強化学習によってさらに改善させていく。 AlphaGo の強化学習パート 教師あり学習後の policy network のパラメータ $\rho_0$ から学習をスタートする。自己対戦の結果から policy network のパラメータは随時更新されていく。それらを $\rho_1, \rho_2, \cdots$ とする。$t$ 回目の自己対戦では、現在のパラメータ $\
モデルフリー系の深層強化学習の手法を用いてスマブラDXのゲームAIを作ったという論文が出ていたので読んだ。以下はそのメモ。 概要 論文URL : https://arxiv.org/abs/1702.06230 著者のグループは github でコードを公開しており、そのデモ動画が twitch や youtube に上がっている。 www.youtube.com 上の動画はその一例。明記されていないが、動きからして 2P のキャプテン・ファルコンが強化学習 AI で、1P が人間だと思われる。スマブラの素人が見てもあまりピンと来ないのだが、人間側は世界ランキングでトップ50相当のプレイヤー(二人いて、途中で交代している)らしい。 reddit や hacker news でも活発に議論されている模様。 内容 環境の定義について Atari のゲーム環境などとは異なり、画像ではなくエミュレ
1週間前の出来事ですが「機械学習とその理論」というタイトルで講義しました.大体 PAC 学習の話してます.スライドを公開しているので以下にそのリンクを載せます. 機械学習とその理論 (情報オリンピック2015春合宿講義資料) from irrrrr 今回の講義では,才能がありそうな若い人らを前にどんなことを話せばいいか,テーマ選びに少し悩みました.色々考えた所「プログラミングコンテストの界隈ではあんまり触れられないけどコンピュータサイエンスの研究や実際の応用で重要なことっていっぱいあるしそういうのを伝えるのが大事なのかなぁ」と思い,その中の1つである機械学習のことについて話すことにしました. 機械学習を語るには色んな切り口があると思うのですが,情報オリンピックに参加しているような人ならきっと理論っぽい話が好きなんじゃないかなぁと思い,基本的な理論のモデルである「PAC学習」について話しまし
ラグランジュ関数は以下のような形をした制約付き最適化問題を解くために導入される有名な手法です. $\min_{x \in D} f_0(x),$ $\mbox{subject to}$ $f_i(x) \le 0$ $(i=1,2,...,m)$ $h_i(x) = 0$ $(i=1,2,...,p)$ ここで,$D \subseteq \mathbb{R}^n$ は目的関数の定義域で, $f_0,f_1,\cdots,f_m, h_1, \cdots, h_p: D \rightarrow \mathbb{R}$ は任意の関数. この記事では "Convex Optimization" (by Boyd and Vandenberghe) の5章 "Duality" の項を元に,ラグランジュ関数とその背後にある理論について記します.主に記したことは以下のとおりです. ラグランジュ関数の定
先週木曜(2014/8/7)のPFIセミナーで表記のタイトルで発表したので,その資料を公開します. 7月にコペンハーゲンで開かれた理論計算機科学の学会に行ってきたときの話を雑多に書いています. 僕が会議に参加した時の発表スライドも公開しています. 余談 本日のPFIセミナーは泣く子も黙るレッドコーダー、最近はKDDベストペーパーランナーアップ受賞でも旋風を巻き起こした新入社員:楠本(@ir5)がICALP 2014 参加記 についてしゃべります。ご期待ください!!!— PFI official account (@preferred_jp) August 7, 2014 なんですかこの煽りは… (困惑)— *IRUN (@ir5) August 7, 2014
M.Kusumoto, and Y.Yoshida . "Testing Forest-Isomorphism in the Adjacency List Model." ICALP 2014, to appear. 修論の成果で投稿した論文が国際会議のICALP2014に採択されました. ICALP(International Colloquium on Automata, Languages and Programming) は理論計算機科学(理論系アルゴリズム,計算量理論,言語・オートマトン,プログラミング言語理論など) を扱う国際会議です.運営はEATCSというヨーロッパの理論計算機科学の団体によって行われ,会議は毎年ヨーロッパの色々なところを転々としながら開催されるようです.今年はデンマークのコペンハーゲンで開催されます. ICALPは理論系アルゴリズム界隈の会議の中でも上位レベ
これは Competitive Programming Advent Calendar Div2013 の 20 日目の記事です.最近点対問題の話をします. 最近点対問題は,空間上に点の集合が与えられた時に,その中で最も距離が近いペアを探す問題です. 応用としては,何らかのオブジェクトを特徴ベクトルに写した後で,最も類似したペアを探したいときなどに役に立つのではないかと思います.競技プログラミング界では,今年のICPC会津大会で3次元上の最近点対問題が出題されました. 空間が平面のときは分割統治による $O(n\log{n})$ 時間アルゴリズムが有名かと思います.今回は一般の次元で,(ハッシュマップを用いて)線形時間で動く実装が楽そうな乱択アルゴリズムの紹介をします.参考にした文献は以下のサーベイです. Smid, Michiel. Closest point problems in c
このページを最初にブックマークしてみませんか?
『ir5.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く