トロント大学PhDの振り返り(2020年12月)

まだ見ぬキャンパスライフ。

2020年9月からトロント大学のコンピュータサイエンスPhDに進学した@yongyuanxiです。入学してからもう早くも5ヶ月目で一学期も終わったので軽く振り返ってみようと思います。

一応トロントに移住したものの、まだ一度も研究室に踏み入れる事なく一学期が終わってしまいました。ただ、物理的にトロントに居る事で友達を沢山作る事ができたのでリモートでも来る理由はあると思います。まだ気候が暖かかくコロナ規制も緩かった9、10月頃はソーシャルディスタンスされた(任意参加の)ラボミーティングが市内の公園で開催されたり、大学院の同僚と共に週末はバスケや食事会などをしていて割と充実していたように思えます。逆に、11、12月はコロナ第二波による規制に加えて論文締め切り2つに課題や期末プロジェクト等が重なっていたので家に籠もって徹夜の毎日でした。

トロントは秋葉がとても綺麗です。

トロント大学では指導教官が二人いるので2つの研究室に所属しています。一人はVector Instituteという機械学習の研究機関に所属し主にコンピュータ・ビジョンを専門とする教授で、学部時代もインターンでお世話になっていました。もう一人はDynamic Graphics ProjectというコンピュータグラフィックスやHCIなどの研究所に所属し主に幾何学形状処理を専門とする教授です。大学院に通うのと同時にNVIDIA社でも研究をさせてもらっていて、そこではHyperscale Graphics Researchという次世代のコンピュータグラフィックス向けの(分散)システム構築や基礎的なデータ構造体等を研究するチームに所属しています。元教授や有名な教科書の著者やアカデミー受賞者などしかいないような職場なので肩身が狭いですが、毎日恐る恐る精進するために頑張っています。

指導教官が実質三人と所属機関が3つあり、ミーティングに追われる毎日なのでリモートでもそこまで寂しくは感じません。加えて、超遠距離となりつつある中でもサポートしてくれている彼女がいるので、自分はかなり恵まれている方だと思います。なので、自分に出来る範囲で世界に還元しようと思い母校のウォータールー大学でTech Plusというメンターシッププログラムを通じて後輩のサポート等もしていました。

研究の方は割と順調で、一学期目は分野のトップ会議(CVPR)とジャーナル(JCGT)に一本ずつ主著論文を投稿する事が出来ました。振り返ってみると順調に感じますが、実際はかなり辛い期間も多かったです。研究テーマがレッドオーシャンな割にムーンショット的な側面があるので自分の研究の実用性やインパクトに関して疑念を抱く事が多かったです。加えて、機械学習、レンダリング、幾何学処理、コンピュータビジョンといった多彩な分野をシンセシスしながら各分野の権威の、時にはお互いに矛盾しあうアドバイスや意見をいかに統合して研究の進歩に繋げるか、というのがとても難しかったです。ただ、元々こういった総合格闘技的な研究がしたかったのと、いざ終わってみると辛さは忘れて経験値のみが残るのでこれからも継続して頑張りたいと思います。常にサポートしてくれている指導教官達や仕事の同僚には感謝しきれません。

友人の誕生日には”ニューラルネットワークショートケーキ”を作りました。

授業の方は指導教官が教鞭を握るGeometry Processing(幾何学処理)とSeminar in Geometry and Animation(幾何学・アニメーション研究セミナー)に加えてPhysics-based Animation(物理的アニメーション)の3つの授業を履修しました。学部時代は一応リアルタイムレンダリング(OpenGLなど)の授業とレンダリング研究セミナーを履修したのですが、グラフィックスPhD学生を名乗る割にアニメーションやモデリング等の知識がほとんど皆無だった上、偏微分方程式なども特に学んでいなかったのでいい刺激になりました。

Geometry Processing(幾何形状処理)は割と珍しい(と思われる)授業で、三次元の離散多様体(表面)の上で様々な偏微分方程式を解くC++のプログラムを書いたりする授業です。よくあるComputational Geometry(計算幾何学)等の授業と比べるとアルゴリズム成分が少なめでその分線形代数学や数理最適化成分が多めで、コンピュータサイエンス的な数学能力よりは工学的な数学能力が求められている気がしました。課題が週毎にあったので少し大変でしたが、その分、幾何形状処理の基礎的な理論の理解や実装力がかなり付いた気がします。期末プロジェクトは機械学習成分と幾何学処理成分を両方含んだDiffusion is All You Needという論文を実装してみました。

Physics-based Animation(物理的アニメーション)はグラフィックス向けの物理シミュレーションをC++で実装したりする授業でした。有限要素法で三次元メッシュの弾性シミュレーションを作らされたりして、高校以来物理をやっていない自分にとってはかなり大変でした。難しかったのは実は物理でも数学でも有限要素法の理解でも実装でもなく、デバッグでした。数値計算系コードはバグがあってもコンパイラが教えてくれる訳でもSegFaultする訳でもなく、ただシミュレーションが不可解に爆発したりするので細かいバグを見つけるのにかなりの時間と根気を要しました。課題は5つしかありませんでしたが、一つ一つが重いのでかなり大変でした。期末プロジェクトはもう物理シミュレーションはこりごりだったので幾何学処理・数理最適化成分多めのLocal Optimization for Robust Signed Distance Field Collisionを実装しました。満点評価を貰えたのでかなり満足です。

Seminar for Geometry and Animation(幾何学・アニメーション研究セミナー)は厳密には正式に履修しているわけではなくAuditしていたのですが、結局授業も全て出席し課題も全てこなしてしまったので正式に履修しておけば良かったと後悔しています。この授業は個人的に一番好きだった授業で、内容としては毎週クラスメイトと二時間ほど幾何学処理に関する論文について議論する、といった物でした。議論といっても論文内容自体に関する事だけではなく、週によって「実装班」、「著者を調べ上げて取材する記者」、「金になる応用を考案する悪徳起業家」、「倫理スペシャリスト」、「SIGGRAPH Reviewer」などの様々な役割を振り分けられて自分の役割に基づいてプレゼンする形式で、役割によってとてもクリエイティブに考える必要があったのでとても楽しかったです。記者として外部の教授とネットワーキングできる上、教授自身からも各論文の裏話等が聞けて、メタ研究的なスキルを得ることが出来たとても良い授業でした。実装班としてはLaplacian Surface Editingを実装しました。

シェールガスの生産における境界要素法の応用に関するプレゼンをするのは人生においてこれが最後なのではないでしょうか。

一学期は全ての授業でA+を取れました。授業をサボりまくっていた学部劣等生時代とは別人のような成績です。

そんなこんなで一学期も終わってしまい冬休みも終わって二学期に入りましたが、また研究で忙しい毎日に舞い戻っています。これからも一層と頑張っていきたいと思います。

--

--