2022 まとめ
2022年にはいろんなことがありました。
研究
今年もたくさん研究をして論文を書きました。主著だけでも10本出版しました。記念のスクリーンショットです。
これについての想定アンチコメントは「研究は量より質」です。
ごもっともです。すみませんでした。
本の執筆
この1年はずっと『最適輸送の理論とアルゴリズム』という本を書いていました。ベストセラー記念のスクリーンショットです。
本屋大賞への投票もよろしくお願いします。
(追記:本屋大賞受賞の対象外だそうです。すみませんでした。)
本を書くのは初めての経験でした。僕は論文執筆のスピードは速い方だと自負しているので、本を書くのも余裕だろうとたかをくくっていましたが、計算違いでした。本を書き上げるのはめちゃくちゃ大変です(主に長大な原稿の整合性を保つ点と、論文よりも広いスコープの読者に配慮する必要がある点)。これから本を書く予定の皆さんは覚悟しておきましょう。執筆経験のおかげで、世に流通している本達へのリスペクトがアップしました。
なんだかんだ言っても、本の執筆は楽しかったです。いつかまた。
Readable
Readable という PDF 翻訳のサービスをリリースしました。もともと自分の論文読みを快適にする補助ツールとして長い間使っていたのですが、8月頃自分の研究に行き詰まったときに、本腰を入れてサービス化に乗り出しました。
ありがたいことに、これがとてもバズって10万いいねなんていうとんでもない数の反応を頂きました。反応いただいた方ありがとうございました。
DeepL を使って英語の PDF ファイルをレイアウトを保ったまま翻訳するツールを作りました✨論文読みが快適になります。ぜひご活用ください! https://t.co/orIkpWcBbr pic.twitter.com/6T5Hn0n7Al
— 紫乃さん (@joisino_) 2022年8月16日
さらにサービスを便利にするべく11月末に有料のプロ版もリリースしました。こちらも多くの人に利用していただきありがとうございます。論文読みが快適になること請け合いなので、皆さん是非 Readable へのご登録お願いします。
趣味
プリティーシリーズ
今年一番ショックだった出来事は、11年半続いたプリティーシリーズのアニメが終了したことです。人生の一部と化していたのでなかなか立ち直ることができませんでした。というか、まだ立ち直れていません。一週間のリズムが崩れまくりです。これを克服するのは来年の大きな課題です。
ひがしやしき
今年は1年中ひがしやしきの音楽を聴いていました。1人のアーティストにここまではまったのは人生で初めてです。ドストライクなアーティストに出会えるのはインターネットのめちゃいい点ですね。
好きなひがしやしきベストテンをいきなり発表します(順不同)
- 君が永遠でとても嬉しかった
- 人生ちゃんは続くらしい!
- Sweet Sweat Weekend
- 痣だらけmorning
- Otaku Has Gone
- kasu no hone
- tateロール金髪
- ノンフィクションなんてもうしまい
- きょうはかえりますね
- さよなら!にゃんぱすライフ
今年行われたひがしやしきファーストライブにも参加しました。地下ライブハウスに行くなんて人生で初めてで、ピアスを開けた兄ちゃんがタバコを吸っていたりしてびびり散らしたりしました。とてもいい人生経験になりました。
アニメオタクやまんがタイムきららオタクの方はひがしやしきを聞きましょう。これは勧誘ではなく義務勧告です。
オタクのラップを録りました。ラブソングです。
— ひがしやしき (@higashi_yashiki) 2019年11月8日
フルサイズは以下のURLできけますhttps://t.co/L2bQauXMgO pic.twitter.com/mA5527jZY4
読書
今年も色々な本を読みました。特に面白かったベストテンをいきなり発表します(時系列順)
- ギュスターヴ・ル・ボン『群集心理』
- ヨースタイン・ゴルデル『ソフィーの世界』
- カール・イグレシアス『脚本を書くための101の習慣』
- アルトゥル・ショーペンハウアー『思索』
- ウォルター・アイザックソン『レオナルド・ダ・ヴィンチ』
- 志賀直哉『暗夜行路』
- 暦本純一『妄想する頭思考する手』
- ヤーコプ・ブルクハルト『イタリア・ルネサンスの文化』
- 福澤諭吉『福翁自伝』
- 恩田陸『蜜蜂と遠雷』
中でも面白かったのは『脚本を書くための101の習慣』です。映画の脚本執筆と論文執筆は似ているので普段から脚本執筆の本をよく読んでいましたが、この本は特に刺さりました。「好きなことを書く。市場の要求に応えて書こうなんて思わないこと。市場の要求なんてわかりはしないからね。自分が一番の客だと知っておくといい。」という言葉は勇気づけられますね。一方で「重要なのは君が誰を知っているかじゃなくて、誰が君を知っているかということだ」 という言葉は、引きこもりグセのある僕には大ダメージでした。もっと勢力的に外へアウトプットしていきます(来年の抱負)。
おわりに
以上!
連絡先: @joisino_ / https://joisino.net
論文の書き方
どのようにして論文を書いているかを尋ねられることが最近よくあります。場当たり的に回答することが多かったのですが、このことについて改めてしっかり考えて公開することにしました。
ここで扱う内容は、科学者とはこうあるべき、という理想論ではなく、等身大の大学院生がいかにして論文を捻りだすかという実践的な方法論です。科学者の規範に照らすと適切ではない内容もあるかと思いますがご容赦ください。その代わり、現役の大学院生にとってはただちに活用できる内容になったと思います。
以下では時系列に沿って各段階の方法について述べていきます。
アイデアを考える
まずは論文のアイデアを収集します。僕は普段からネタ帳にアイデアを書き溜めていき、論文を書こうと思い立ったタイミングでその中からアイデアを一つ(または二つの組み合わせ)を選んで作業をはじめます。
どのようにアイデアを得るかはあまり一貫性がありません。ここでは代表的な二つの方法を紹介します。
論文や教科書読んでいて思いつく
これはやりやすい方法かと思います。気をつけないといけないことは、論文で提案されていることを改善することを目指すと、得てしてインクリメンタルな研究となりインパクトが小さくなることです。
おススメの方法は、既存論文に書かれている言い訳を覆す方法です。例えば、論文 A で「タスク X の実データは利用できないので人工データで代用する」と書かれていれば、タスク X の実データを収集して公開できないか考える、論文 B で「アプローチ Y は動作が遅すぎて実用的でないので比較からは除外する」と書かれていれば、アプローチ Y を高速にする方法を考える、といった要領です。
この方法の利点の第一は、新規性が担保されることです。こんな手法やデータがあったらいいなと自分で勝手に考えると、よくよく調べたところ同じような手法やデータが見つかり新規性がなかったということが多くあります。論文中で「ない」と述べられていれば、存在しないか、存在していたとしても何かしらの問題があるのでしょう。これにより、実は新規性がなかったと後で発覚する失敗を避けることができます。
第二の利点は、潜在的な顧客が確保できることです。タスク X の実データを収集して公開すれば、おそらく論文 A の著者は利用してくれるはずです。アプローチ Y の高速な手法を提案すれば、論文 B の著者は利用してくれなくとも、比較には含めてくれるか、引用してくれる可能性はあります。また論文 A, B の著者がいるということは、コミュニティーには他にも興味を持ってくれる研究者がいると期待できます。これにより、研究内容が独りよがりになる失敗を避けることができます。
日常生活の不満を解消するアイデアを考える
ビジネスや発明では基本的なアプローチかと思います。
このアプローチの利点は、自分という顧客を確保できること、自分の欲求に基づくのでモチベーションが保ちやすいことです。
欠点は論文化が難しいことです。日常生活の不満を解消するためには、解法は複合的になることが多く、性能を高めようとするほど設定が特殊化していきます。一方、研究に必要なのは普遍性と再現性です。自分の用途に特殊化した複雑な手法から良い論文を生成するのはなかなか難易度が高いです。慣れていないとあっという間に「素人思考・素人実行」な論文ができあがります。このため、日常生活から研究のアイデアを考えるのは、初心者こそやりがちですがむしろ上級者向けです。まずはインクリメンタルな研究を無難にこなして研究に慣れてからこの方向性に進むのがおすすめです。
このパターンの論文を書くときのコツは、いったん自分の用途にカスタマイズした手法を考え、そこから核となる普遍的な構造を抽出することです。最初から普遍的な手法を考えるよりも取っかかりやすく軸がブレづらいのが利点です。
論文化するアイデアを選ぶ
よし、論文を書くぞと思い立ったタイミングで、前述のネタ帳からアイデアを選びます。
アイデアの選定で気をつけているのは、第一には、良い面も悪い面もハッキリしたアイデアを選ぶことです。多くの人に受け入れられなくても、良い面を受け入れてくれる少数の人に強く突き刺されば十分です。査読者全員から weak accept を貰って採択されるくらいであれば、strong accept と strong reject を貰って不採択を食らってやるというくらいの気概で選んでいます。
この基準で選ぶに際しては、論文を書き終わったあとに「こういう論文を書きました」と Twitter に投稿する場面を想像しています。グダグダ説明が必要になりそうならあまり良いアイデアとはいえず、短い言葉や 1 枚の画像で良い面を伝えられれば良いアイデアと言えます。
ハッキリしたアイデアであれば、読者のペルソナを想定しやすく、この後の論文執筆がやりやすくなります。また、学会で発表する際にも、アイデアを短い時間で確実に伝えられ、有益なディスカッションに繋がることが多くなります。
第二に気をつけているのは、できるだけアイデアを寝かせておくことです。最近思いついた最高のアイデアよりも一年前に思いついたそれなりのアイデアを優先するくらいの感覚で選んでいます。
研究でよくある失敗は、研究し始めた段階では素晴らしいアイデアに思えても、一年後には、あるいは研究の途中で既に、つまらないと感じてきてしまうことです。思いつきたてのアイデアは特に魅力的に見えますが、その分色褪せるスピードも早いので、一年後にはつまらなくなる可能性が高いです。一方、一年前に思いついたそれなりのアイデアは既に一年耐えたのだから一年後にもそれなりを保っていることが期待できます。また、最近思いついたアイデアのモチベーションは開始した時点がピークであとは下降するだけですが、昔思いついたアイデアはやってみると意外と面白いじゃんと上昇するケースも多くあります。研究は長期戦なので、こういう長期的なモチベーションコントロールは重要だと考えています。
アイデアを一年も寝かすとライバルに先を越されると心配してしまうかもしれませんが、数か月を争うようなアイデアに取り掛かるのはそもそも博打度が高いです。あえて一年寝かすという制約を付けることは、そのような移り変わりの激しい分野から遠ざかることにもつながるので、むしろ利点であると考えています。
サーベイする
アイデアを選び終わるとサーベイを行います。サーベイは最初に行う派と最後に行う派がいるようですが、僕はできるだけ先に行います。なぜなら、サーベイで見つけた類似研究が論文の方向性を決定づけるからです。
サーベイによって類似研究が見つかると、その研究と自分の研究の差異を考えます。全く同一のアイデアであることはあり得ないので、小さなことでも何かしらの差は見つかるはずです。また、物事には必ず良い面と悪い面の両面があるものなので、差さえ見つかればそこから提案法の優位な点を抽出できるものです。例えば、提案法は既存法よりも大胆な近似を行っている場合、精度は悪いが高速に動作するでしょう。この場合、時間制約が厳しいアプリケーションや、大規模処理が必要なアプリケーションを考えれば、提案法の良い面が強調できます。論文を書く際には、この差が強調されるようにストーリーを構築して、この差が強調されるように実験設定を考え、この差が強調されるように書き進めていくことになります。既存研究との差は、論文を書き進める方向性を決定づけるものなので、できるだけ早い段階で確定していることが望ましいです。
予備実験を行う
論文を本格的に書き始める前に、アイデアがちゃんと動作するかを予備実験で確かめておきます。ここで気をつけているのは、できるだけ最初の段階から最終形に近い形で実験を行うことです。つまり、人工データ→小規模実データ→大規模実データの順で段階的に実験するのではなく、最初から大規模実データを使って実験を行います。うまく出版できるかは実データにおける実験の成否にかかっているので、予備実験では、この条件がクリアできるかを確認することにまずは全力を注ぎます。この予備実験は実弾(本実験)の前の曳光弾のようなイメージです。
論文を書く
論文を書くにあたっては、まずはいわゆる吐き出し稿 (vomit draft) を仕上げることに注力します。この時には、英文法の誤りは気にせず、適切な引用先を知らなければ空欄にしておきます。特に、引用文献を調べ始めると芋づる式に文献が見つかり際限なく時間がかかるので、最初のフェーズ(アイデアを選んだ直後に方向性を定めるフェーズ)でサーベイは十分に行ったことを信じて、まずは書ききることを目指します。
この方式を採用する理由は先延ばしを避けるためです。初稿が完成するまでは、サーベイが足りないとか、ストーリーが固まっていないとか、様々な先延ばしの言い訳を考えてしまいます。この先延ばしの根本的な要因は、初稿が書き上がるまでは不確定要素が多く、そのために様々な可能性を模索してしまって手に負えなくなることだと思っています。なので、できるだけ早く初稿を書き上げて不確定要素を無理やり確定させてしまいます。その後で、局所探索的に改善を行い、ベストエフォート品質で締切に間に合わせるということを常に意識しています。
推敲する
原稿ができあがった後は推敲を重ねます。ここはひたすら地道に、印刷して赤ペンを持って推敲することを時間間隔をあけて繰り返します。
論文を書くのに慣れないうちは、特に意識して推敲を繰り返すことをおすすめします。初心者が書く論文は多くの場合、推敲が不十分です。推敲が十分でない論文は日本語が不自然な Amazon の商品説明のようなもので、読者は商品(提案手法)の品質まで悪いんじゃないかと勝手に想像してしまいます。推敲不足のせいでリジェクトされるのは悲しいので、やりすぎなくらいに原稿をチェックすることをおすすめします。
一方で、論文を書くのに慣れた後(主著で十本程度論文を書くことを経験した後)は、推敲を止めるタイミングにも気をつけています。慣れてくると最低限の体裁は初期の段階で整えられるようになります。また、研究が軌道に乗ってくると論文化したいアイデアがどんどん溜まっていきます。こうなると推敲を最後まで重ねて打率を 1 パーセント上げるよりも打数を稼ぐ方が効率的になってきます。慣れるとずっと推敲したくなってきますが、時にはグッとこらえて次に進むことも重要です。
精神的に大事なこと
アイデアをちゃんと深掘れば何か面白いものが書けるはず、という自信は研究を進める上で重要です。この自信は、アイデアの筋が良いという自信と、どのようなアイデアであれ面白く仕上げられるという自信の両面から成ります。前者については、何が既にやられていて何がまだやられていないかという分野の地図をまずは頭の中に構築して、こっちに進めばまだ見つかっていない面白い発見があるだろうという感覚を養うのが重要です。後者については、研究をして辿り着いた先にある成果物のみをあてにするのではなく、そちらに進んだということそのもの、そしてその過程で見た色んな材料・景色を基に研究のストーリーを構築できるようになるのが大切だと感じています。これらの感覚が得られると、精神的にも業績的にも安定して仕事を進めることができるようになりました。
おすすめ文献
Eamonn Keogh の How to do good research, get it published in SIGKDD and get it cited! は何度も読み返して大きな影響を受けました。ぜひご一読をおすすめします。
おわりに
ビビっときたやり方があればぜひ取り入れてみてください。皆さんのとっておきの論文の書き方もいつかお聞かせ願います。
連絡先: @joisino_ / https://joisino.net
自分の研究を自腹で広告した体験談
皆さんは自分の研究成果をどうやって広めていますか?
ひとつの研究は実働時間だけでも最低数ヶ月、全出版プロセスを考えると一年単位で取り組むこととなります。そうして手塩にかけて育てた研究が誰にも認知されない、というのはなんとも悲しいことです。
僕が所属している機械学習分野は人工知能ブームにより、日々洪水のように論文が発表され、その中で存在感を発揮するのは難しくなっています。
一昔前であれば、名のある国際会議やジャーナルに採択されればそれなりに存在感を発揮できたようですが、今では一つの会議に数千本の論文が採択されるため、採択された後にも競争に勝たなければ目立てないという事態になっています。
論文のクオリティを上げて名のある国際会議に採択されるだけでは不十分、となれば一体どうすれば良いでしょう。
続きを読む実対称行列が直交行列で対角化できる直感的な証明
合同な凸図形でn要素ベン図を構成する方法
この記事は Concrete Mathematics の演習問題 1.22 を元に作成しています。
ベン図とは複数の集合の関係を図式化したものです。例えば以下は 3 要素のベン図です。
n 要素のベン図には n 個の図形があり、2n 個の領域に分かれ、それぞれの領域は含まれる図形の集合が異なるようになっています。
3 要素のベン図は上記のように円で描けるのですが、4 要素のベン図は円で描けないことが知られています。(4 つの円で 24 = 16 個の領域を構成するのが無理なため。)
どんな図形を使ってもよければ多要素のベン図を構成するのは容易ですが、任意の n について合同な凸図形のみで n 要素のベン図構成することは可能でしょうか?
取っ掛かりのなく難しそうな問題ですが、実はキレイに解けることが知られています。
続きを読むディープラーニングで櫟井唯ちゃんに喋ってもらう
この記事は ゆゆ式 Advent Calendar 2017 - Adventar 24 日目の記事です。
はじめに
前回、唯の画像を無限に生成することに(部分的に)成功した訳ですが、画像ができたら今度は声が欲しくなってきます。
そこで、 [1710.08969] Efficiently Trainable Text-to-Speech System Based on Deep Convolutional Networks with Guided Attention を chainer で実装して、唯の声で学習させてみました。
続きを読む