映画『レディ・プレイヤー1』は面白いか?



映画見てない人は今のうちにブラウザバック

こんな感じのフェイント挟みながら見ました.

ぼくには『レディ・プレイヤー1』の面白さを語る資格はない.
何故なら,ぼくはスティーブン・スピルバーグの打ち出すメッセージがどうしても受け入れられなかったからだ.
イデオロギーによって作品の価値が左右されるのは良くない*1

良かったところ

  • 「おれはガンダムでいく」
  • 爆弾で全員消えたところ.ああいうのゾクゾクする.5分後にはコイン狙いで火事場泥棒がたくさん集まってそうで良い.
  • 敵のおっさんが割とノリノリとメカゴジラに乗ってるところ
  • 敵のドクロが格言で締めたがるところ
  • 溶鉱炉(火山)

受け付けなかったところ

  • 物質世界だけがリアルだというメッセージ

無理

主人公チームが物質世界で会った際に本名(物質世界の名前)をすぐ教え合ってたのが違和感ある.
別に物質世界でもハンネで呼び合わない・・・?自分がそういうコミュニティに属しているのでそこでまず冷めてしまった.
そして最後のアレですよ.えー・・・・そもそも君たちOASISで会ってるわけじゃん.
みんなアメリカ住みだから良かったけど大陸レベルで離れてたらそもそもリアルで集まるの大変じゃん...

確かに,物質世界の方が圧倒的に解像度が高いという現状はある.
にじさんじの月ノ美兎委員長とかは清楚なガワでは隠せないほどの,濃密な「魂」,それも物質世界由来の魂がウケた秘訣だろう.

楓と美兎
この動画はニコニコ超会議の「YouTuBar」の日の夜にやってた放送なんですが,月ノ美兎さんと樋口楓さんが隣に並んで話してるんですよ!隣に!
ゼロ時間でテンポよく進む会話,特に16分24秒からの会話はヤバい.会話するとき目を見る見ないの話を繰り広げるんですわ.これが物質世界のリアル・・・頭掻いてる・・・

書くの飽きた.

物述有栖は完璧

  • 声が良い
  • センスが尖ってて良い(夏色ハイスルク)
  • とにかくいい

上に挙げた動画は親フラで一時的にマイクを切ってる.これも物質世界によるリアリティだ.

でも,本当は物述有栖は六畳間一人暮らしで全部演技なのかもしれない.
だって,物述有栖は完璧すぎるから…
そうだとしたら,物述有栖が醸し出すこの存在感は何?それは,虚構であってもリアルであるのだ.

上手い飯は物質世界でしか食えないかもしれない*2
でも,物述有栖に会えるのはインターネットだけなのだ.

TODO:
映画代乞食をする(大学生)(5月31日)
medium.com

*1:これは微妙で,『帰ってきたヒトラー』のように指向性も含めて評価されるべき作品はあるだろう.でも,イデオロギーとは離れた面白さもあるはずで,政治性が合わないからといってそこに目が向かなくなってしまうのはいけない.

*2:2045年には味覚ハックできててもおかしくはないけどね

2017年

1月

アイコンが蟹になった
課題でHaskellを書いていた
Hindley-Milnerを書いていたらしい.まだバグ無くUnificationを実装できたことが無い
成人式で精神が崩壊する

2月



このときから準備をしていけば・・・

「Dr. レイテンシーのなぜなに?相対性精神学」で量子力学警察をする.

けものフレンズ

3月

けものフレンズ
賭けグルイ6巻が百合情報を手に入れたので全巻揃える
自作MLをガリガリ書いていたがやはり型推論が上手くできず死んでいる

4月


今年前半はずっと進路悩んでいる気がする.弊学科に理論よりの計算機科学やる人がいないのがいけないんじゃ

5月


セキュキャン無限に落ちる

Ponyに出会う.すくすく育って欲しい
留学ビザが出る


なんも分からん


直観です

6月

確率の哲学ウダウダこねくり回していたが『確率の哲学理論』を読んだらスッと理解がクリアになったので本職ってすげえなって



人生概ね幸せかなあ・・・まあそうかも


バークレー


CS61A・CS61BLの充実っぷりすごかった

バークレーにまあまあ好感情

7月

pandaman64.hatenablog.jp


簡単な授業で無双することにむなしさを感じ始める.


これすき


行けませんでした.

日本のオタクだらけプレリと違ってバークレーのMagicプレリは年齢層が広かった

アメリカ式食生活に適応し始めピザと輪切りオリーブとトマトを無限に摂取していた


8月

プリンセス・プリンシパル

アメリカではプリンセス・プリンシパルが視聴できなかったので二次創作百合ツイートばかりみて想像を膨らませていたのだが,帰国後追っかけたら公式は二次の遥か上を叩きつけてきて最高



こういうところ接近しても突撃していけないの(突撃できる準備・アポ取りをしていかないの)悲しい.チャンスを無駄にしている感高い

正直バークレー留学しても特に自分が変わったという気持ちは無い...まあアメリカでも変わらずやっていけるぞということでしょうか
あとバークレーの方がリア充してたな

9月

プリンセス・プリンシパル

Twitterディスコミュニケーションがあった

Prologを書いていたがUnificationが正しく書けない

10月


購入者の皆さんありがとうございます!完成版は10年スパンでお待ちください!!!!!!

11月

C&C賞受賞記念講演でAhoの後ろ30cmぐらいにいた


12月

来年の進路が決まりました
再来年からどうするかはわかりません.量子プログラミングやれるところ行きたい

2018年

なんかこう行動のポテンシャルはあるものの仕事関数を抜けられないせいでチャンスをふいにしてしまっていることが多くてつらい.
最終的には0か1かなので思い切って飛び出していきたい
ほぼ毎日Twitchに4-5時間溶かしているのヤバいと思うので生産的な活動をしたい
Unificationを正しく書きたい

本の完成版は必ずやるので待っていて欲しい・・・・

幸運の黒い白鳥を探そう 『ブラック・スワン』

本 Advent Calendarの3日目の記事です.
adventar.org

今日は『ブラック・スワン』上下巻を紹介します.

この人*1は「経済学者」が大嫌いなんだなあというのがビシビシと伝わってくる本です.

最初に,人間がいかに誤った説明をしてしまうかを示していきます.
人は事象が発生した後に説明を後付けしがちであり,その説明も分かりやすい・見えやすいものに引きずられてしまいます.
そのように間違ったモデルを構築し,それで現実が説明できたと安心してしまうのが人間なのです.

この問題が大きく関わってくるのが経済学の領域です.
富には更に富が集まってくるものです.このような性質を持つものをscalable*2と言います.
scalableな世界では勝者が成果を総取りしていきます.
その結果生じる分布は正規分布*3から外れてしまい,特に分散*4が発散してしまいます.
このような状態をNNTはワイルドと言っています.
ワイルドな世界で「経済学者」が良く使う定理*5が力を発揮できません.
しかし,「経済学者」はそのような定理を使って金融商品や経済のモデル化・予測をしているのです.
その結果生じるのが題名にも取り上げられる「黒い白鳥」,すなわちモデルから逸脱した現象です.

黒い白鳥は破滅的な現象を引き起こすこともあります.
例えば,2008年のリーマンショックは黒い白鳥の例に挙げられるでしょう.
確かに思われた金融市場は,あっけなく崩壊し世界不況を引き起こしてしまいました.
モデル化がより詳細になればなるほど,モデルの構築時に覆い隠してしまった不確実性,黒い白鳥はどんどん大きくなってしまいます.
破滅的な崩落は近年になるにつれてより現実的なものになっているのです.

しかし,黒い白鳥は悪いことばかりではありません.
世界がscalableであることは,誰もが頂点に立つチャンスを得ることができるのです.
世界の頂点は一部によって占められていますが,ひとたび良い黒い白鳥が裾に止まると,その顔触れは10年ぐらいで変わってしまうのです.

そのような世界では,良い黒い白鳥を得るチャンスに触れ続けることが大切だとNNTは説きます.
これは投資だけでなく,人生を生きていく上でも当てはまることでしょう.
やっていくぞ.

*1:ナシム・ニコラス・ターレブ,以下NNT

*2:日本語訳で拡張可能.IT系だとスケーラブルとよく言うね

*3:原文だとベル型カーブ

*4:NNTが大嫌いな言葉

*5:中心極限定理とか

業を積み上げ百合を組め 『総合タワーリシチ』

adventar.org
本 Advent Calendar 2日目の記事です.

最近『どうぶつタワーバトル』が流行していますね.
play.google.com
sasatanwwwww.hatenablog.com
hagyou.hateblo.jp
シンプルな操作性とは裏腹の高度な駆け引きが大量の廃人を生み出し,社会現象になろうとしています.
ぼくはNexus 5Xが文鎮化したのでプレイできないんですけど.

そんなときに心を癒してくれるのがこれ!『総合タワーリシチ』!『どうぶつタワーバトル』と大体同じ*1!!!!

二巻並べると顔が良い!!!!!!

感情が強い女が女とやっていく話です.
全体的に感情がデカい.
デカい感情に当てられて一週間ぐらい百合が厳しくなった.
今ではもう最高です.

*1:タワーリシチはロシア語の「同志」を英語読みしたようなのですが. タワーリシチ - Wikipedia

『オートマトン 言語理論 計算論 Ⅰ』

この記事は本 Advent Calendarの1日目の記事です.(1日目とは?)
adventar.org

本日の本は『オートマトン 言語理論 計算論 Ⅰ』.

オートマトン言語理論 計算論〈1〉 (Information & Computing)

オートマトン言語理論 計算論〈1〉 (Information & Computing)

J. Hopcroft, R. Motwani, J. Ullmanの3人による共著の日本語版です.
このうち,HopcroftとUllmanは昨日C&C受賞記念講演をした方です.
C&C受賞記念講演については講演メモを書いたのでそちらもどうぞ:
pandaman64.hatenablog.jp
pandaman64.hatenablog.jp
pandaman64.hatenablog.jp

ⅠとⅡの二巻構成で,Ⅰでは正規表現およびDFA*1,文脈自由文法およびPDA*2を扱います.反復補題もあるよ.
今学期の講義でオートマトンをやっているのでその教科書ですね.
Ⅱは持ってないので良く分からないのですが,決定性問題を扱い文脈自由文法のいくつかの性質が決定不能であることを示すようです.
DFAPDAチューリングマシンと扱う対象を広げていってるんですかね.

この本は帰納法の原理から初めて一歩一歩解説を進めていきます.
とはいえ,証明も形式的すぎずすいすい読み進めていくことができます.
例題や章末の演習問題・オートマトンの応用例が豊富なのも嬉しいですね*3
HopcroftやUllmanが計算機科学の教育でC&C賞を受賞したのも納得という感じの素晴らしい古典です.

今ならオートマトン力も付いているだろうし
www.jstage.jst.go.jp
にも再挑戦してみようかな・・・!

*1:Deterministic Finite Automaton

*2:PushDown Automaton

*3:XMLが出てきたのには時代性を感じますが・・・

C&C受賞記念講演行ってきた Ullman編

目次

Aho編:
pandaman64.hatenablog.jp
Hopcroft編:
pandaman64.hatenablog.jp
Ullman編: ここ

メモ

Aho, Hopcroftに続いて最後に話したのがUllmanです.

学生へのメッセージは言ってない気がする.聞き取れなかったのかもしれない.

最近はParallel Computationが良く使われている.
これは並列で計算することで高速化を図るためである.
しかし,並列計算を手でやるのは極めて辛い.そこで簡単に並列計算するためのシステムが作られてきた.
並列計算の中でも初期のアルゴリズムであるMapReduceについて詳しく見ていこう.

MapReduceの特徴としては

  • 並列処理を陽に書く必要が無い
  • 計算が失敗しても自動でハンドリングしてくれる

という点が挙げられる.
しかし,MapReduceにも制限があり,特に"reducer size"と"communication cost"にトレードオフが存在することを明らかにした.

MapReduceはMapとReduceの二つの部分からなる.
Map処理では,それぞれの入力に対してMapperを並列に適用する.
Mapperの戻り値はkey-value pairの集合となる.
このとき,入力に対して多段のmapperを適用することが多い.このような一連のmapperはMap Taskとしてひとつにまとめられる.

その後,並列計算システムが全てのMapperが返したkey-value pairをkeyでグループ化する.

グループ化したデータはkeyをキーとし,それに紐づけられたvalueのリストを値とするようなkey-value pairの集合になる.
これの各key-(valueのリスト)についてreducerを適用することで最終結果を得る.

MapReduceアルゴリズムの実行時間は

  • MapperとReducerの実行時間
  • Reducerにデータを送るときの通信時間(communication cost)

の二つの要因によって変化するが,多くの場合通信時間の方が影響が大きい.

薬の相互作用を突き止めるという課題で実際に生じた問題を紹介する.
これはStanfordのCS 341(data mining)で取り上げたトピックである.
医薬品は3000種類あり,それぞれの医薬品について1MB分の服薬データ(日時とか症状とか)がある.
この中から悪い飲み合わせといったような薬同士の相互作用を見つけたい.
これをMapReduceでやるとすると,ナイーブなアルゴリズムとしては

  1. Mapperは薬のペアをkey,片方の薬の服薬データをvalueとするデータを用意する
  2. Reducerは各keyのグループについてsignificantな相互作用が存在するか調べる

というものが考えらえる.
このアルゴリズムの問題点は,key-value pairの数が膨大になってしまうことである.
薬のペアは 3000^2 = 90000000個存在し,それぞれについて1MBの服薬データがくっつくので,全体で9TBのデータが発生し,これをネットワーク越しにReducerに送らなければならない.
これは1Gbps Ethernetでは全然終わらない量のトラフィックである.

このアルゴリズムを改良には薬をグループ分けしてやれば良い.
例えば,100個の薬を一つのグループとして扱うと,グループのペアの数は 30^2 = 900個になり,通信量も9TBから90GBに落ちるので数分待てば計算できる.
各ペアにくっつくデータ量は増えるが,計算時間は結局変わらないので全体としては大きく高速化された.

MapReduceの計算モデルを考えると以下のような特徴がある.

  • MapReduceアルゴリズムは一連の入力を取る
  • 入力に応じて出力を行う
  • 出力は入力のうち,一部分だけで決める

MapReduceアルゴリズムの解析で重要になる値を定義する.

  • Reducer Size(Q)*1は一つのReducerが処理する入力の最大のサイズである.Qは計算機のメモリサイズで上からバウンドされる.またQが小さいほど計算の並列度が大きくなって嬉しい.
  • Replication Rate(r)は一つのMapperが生成するkey-value pairの個数の平均である.rが大きいほどはcommunication costが大きくなってしまう.

先ほどの問題では,
 r \propto \frac{1}[Q}
という関係が成り立つ.
係数はグループの個数に依存する.
上式を見るとrとQの間でトレードオフが生じていることが分かる(Qを小さくすると並列度が上がるが,rも大きくなるのでcommunication costが増大する).

rをQの関数で表すという研究がある.
これができると,あるMapReduceアルゴリズムが上手いこと計算できているかを測定することができる.
rの上界をQの関数で表すことは既にできており,Ullmanは下界を調べた*2
これには,以下の性質が使える.

  • 1つのReducerが扱えるデータはQ個までである(Qの定義から)
  • 全ての出力について,その出力を計算するのに必要なだけの入力を受け取るようなReducerが存在する(さもなければその出力が計算できないため)

薬の問題で示した改良後のアルゴリズムはrが下界の2倍になる.
最良のアルゴリズムでは下界+1を達成できることが分かっている.
つまり,Ullmanの与えた下界は極めてタイトである.

他にも色々な問題に対してrとQの関係を調べることができる.
例えば行列の乗算をMapReduceでやることができる.
この場合には,MapReduceを2段にした方が効率が良いことが分かっているので,薬の問題で使った手法(これは1段MapReduce)は改善する必要がある.

ハミング距離1のビット列の問題*3についてもトレードオフが存在することを明らかにした.
一方ハミング距離が2になった場合にはopen problemである.

Marginals of a data cube*4についても調べた.

ここで全員の話は終わりで,16時を少し回ったぐらいだった気がする.
数分の休憩を挟んだ後QAセッションが開始.
最初の質問をした人が最前列の関係者席に座っていたご高齢の方で,聞き取りづらい英語でよー分からん話をグダグダ喋っていて時間がゴリゴリ溶けた.

QAセッションのメモはほとんどとってない.
Ahoが学生に対してNumber theory, Group theory, (量子コンピュータやるなら)Topological Theoryやるのが良いよとアドバイスしていた.
今の学部教育ではロクに数学やらないから考え直さないとかもねとも言ってた.

Hopcroftは人の直観は三次元空間用だから機械学習で出てくる高次元空間では通用しないよねとも言っていた.
また,教科書の話題では,本を書くのはお金を儲けるというよりも良い評判を得るためだよね(ただし中国語版は例外)とも発言していた.

結局3人のQAをした所で30分が過ぎてセッションは終了.
そのまま解散.

色んなトピックの話を聞けて凄い面白かった.
特に,Ahoは自分にとって完全に「ドラゴンブックの人」という扱いだったので,彼の口から量子コンピュータの話が出てきたときには驚いたし*5,最新の研究への言及もあって極めて良い刺激になった.

英語も大体聞き取れた.
メモ取ってる途中に喋られると厳しい~~~~という感じ.
相手も英語話者以外に話すつもりでやってるからね.

講演者後方30cmを陣取れたのも良かった.
UllmanはHopcroftの講演中眼鏡を開いた状態でつるをつまんでくるくるしていたのがかわいかったし,そのときAhoは飲み終えた紙コップを口に押し付けて左右に回転させながらスリスリしていたのが最高だった.

明日(今日?)からは本 Advent Calendarも書いていくのでよろしく.
ネタはまだ考えてません.
adventar.org

*1:UllmanはQを黄色い文字で書いていたので白背景では無限に見辛かった

*2:曖昧.上界を調べるのもUllmanがやっているのかな

*3:詳細不明

*4:これも不明

*5:そのままガッツリ解説し始めたのにもちょっと驚いた

C&C受賞記念講演行ってきた Hopcroft編 (2/3)

目次

Aho編:
pandaman64.hatenablog.jp
Hopcroft編: ここ
Ullman編:
pandaman64.hatenablog.jp

メモ

Ahoに続いて二人目の講演はHopcroftでした.

Hopcroftが若手に送るメッセージは「教官が勧めてくることはやらない方が良い.どうせできることだから.」という感じ*1

農業革命,産業革命,(後なんかあった気がする)に続く現在起こりつつある革命が情報革命(information revolution)であり,機械学習が情報革命の引き金を引きつつある.

データを分類するとき,データが線型分離できるとしたら簡単で精度も良い.
けど,現実には非線形なデータもたくさんある.
そんなときには高次元に移すような関数を用意して,高次元空間(無限次元なこともある)で線型分離すればいい.
実は個々の関数の値は必要なくて,内積だけ計算出来たら良い.
なので,カーネル行列を使うことで計算が簡単になる.カーネルが正定値なら対応する(高次元への)関数が存在する*2
カーネルを使って機械学習する手法の一つがSVMSVMは15~20年前は良く使われていた.

2012年にImageNetの誤答率ががくんと下がる.
これはニューラルネットワークが使われた結果.
今ではニューラルネットワークは人よりも精度が良くなっている.なんでうまくいくのかは分かってないけどね.

ここら辺にCNNの解説とかしてた気がする.どうでもよかったのでメモに無い.

ここから研究の紹介.
画像をNNに通して得られたベクトルをActivation Vectorと呼び,Activation Vectorの空間をActivatioin Spaceと呼ぶ.
Activation Vectorには画像の内容が入っていると考えられる.
画像→Activation Vectorの変換はNNに入れるだけだが,逆変換(Activation Vector→画像)はどうしたら良いだろう.
まずはランダムな画像を生成してNNに通す.
そこで得られたActivation Vectorから所望のActivaton Vectorの方向に勾配降下法で画像を変えていけば良い.

これをやると例えば画像のスタイル変換ができる.

  • 若い人の写真の年をとらせたり
  • コーネル大学の建物を中国風にしたり

できる.これを理論的に考えると,絵のスタイルや猫が写っているという情報は低次元の多様体としてActivation Spaceに埋め込まれていると考えられる.
ここからDeep Learningの学習理論に繋がるかもね.

コーネルの学生がDLの学習過程を観察中に気づいたことに次のことがある.
学習の初期の過程では,ニューロンのノードのうち3つが画像のサイズを学習していた.
しかし学習が進むにつれて,この3つのノードのうち2つは画像のサイズを学習するのを諦めて,他のものを学習し始めた.
時間が足りなかった*3ので,現象を見つけただけで理由は分かっていない.
これは一体どうしてなんだろうね*4

DLではパラメータに対して大量の極小点が存在するので,これらから良いものを選ぶ必要がある.
二つの極小点が同じ誤差値をとるが,片方は広い(傾きの変化がゆるやか)極小点でもう片方は狭い(傾きの変化が急)とする.
このときどっちの極小点を選ぶのが良いだろうか?
Hopcroftは広い方が良いと思っている.
まず,汎化誤差は訓練誤差から少しずれている.
広い極小点の場合は変化が小さいので,訓練誤差の極小点が汎化誤差の対応する極小点からずれていてもあまり問題は無い.
一方,狭い極小点の場合は位置の微妙なずれが大きな差になってしまう.
だから広いほうが良い.

同じネットワークに別々のタスクを学習させて,その学習結果のネットワークを混ぜて使うという研究がある.

GANいいよね・・・

5歳の女の子*5は写真を1枚見ただけでそれがどういうもの*6なのか分かる.
一方で,DLの場合はそれぞれの対象について数千枚の写真が必要.
人間は「写真を見たときにどうやって対象を理解するのか」を学ぶことができるが,今のAIつまりパターンマッチングではそれはできない.

*1:曖昧

*2:ここ聞き間違えてるっぽい.カーネルは関数のことで行列はグラム行列と呼ばれるもののようだ. c.f. xiangze.hatenablog.com

*3:その学生は1ヵ月しかいなかった

*4:たまたまだと思う

*5:Hopcroftの娘だった気がする

*6:曖昧