Voyager

海外院進を志す女の子

私にとっての「留学」とは

こんにちは。

今日は多分将来の自分が見たらクソガキだなと思うようなお気持ち表明的なお話をします。

今学部3年生が終わるというタイミングなのですが、私は大学院進学のタイミングでの海外院進を目指しています。そんな今の私にとっての「留学」とは、なぜ私が海外院進をしたいのか、ということに関してつらつらとお気持ちを書き連ねたいと思います。

一番初めのきっかけ

私が初めて海外の大学院に進学したいと思ったのは大学2年生の夏休み半ばです。五十嵐祐花さんという方を知り、大学になって初めてプログラミングを始めた人でもMITみたいなすごいところに行けるんだぁ....という成功例を知り、もしかしたら運がよければ自分もいけるかも?と思ったのが一番初めだったと思います。(といっても五十嵐さんのブログを少し読んだだけで、五十嵐さんがどれくらいすごい実績で合格したのかということを当時はあまり知りませんでした...、だからこんなことを思ったのでしょうね...)

直後の挫折

海外の大学院に受かるためには研究実績を積まないと!となり、2年生の秋学期が始まると私は海外の大学/研究機関のサマープログラムへの申し込みの準備を始めます。KWS(駒場ライターズスタジオ)に何回も通って志望動機書の添削をしてもらうなどの努力はしたものの、申し込んだプログラムは全て落ちてしまい、また、授業でお世話になった先生に推薦状を頼んだものの断られてしまって推薦状がなくて申し込めなかったというものもありました。

その後春休みに申し込んだプログラムも全て落ちてしまいました。やはりそう甘くはないのだなぁと現実を突きつけられました()

それ以後はやみくもに海外のインターンに申し込むのではなく、日本で経験を積む方を優先して今に至ります。

なぜ私が海外院進を目指すのか

大学2年生夏休み以前は、海外院進どころか留学そのものにすら否定的でした。留学は、なんだか意識高い系の人たちがしているイメージがあって、海外でキラキラした留学生活を送るよりは質実剛健に学問で研鑽を積むのが学生として正しい、格好いいという考えが私の中にはありました。私自身はすごい陰キャなので今でもこういう、キラキラした人達への反骨精神的なものは心情的に非常に理解できます。

ただ、それでも私は海外院進をしたいと思う理由は、大きく分けて理性的なものと感情的なものがあると思います。(理性的とはいってもかなり精神面の話も入っていて分類の仕方が微妙なのはさておき)

理性的な動機

純粋に自分のキャリアにプラスになりそうだと思ったからです。(コミュ障・社不的な面があるので)元々修士を卒業した後にすぐに就職するというキャリアはあまり考えておらず、博士まで行こうかなぁとは軽く思っていました。(当時はあまり博士課程が過酷ということもあまり分かっていなかった...) でも、修士・博士の分の5年間分もの学費を親が出してくれるのかという不安があったし、博士卒よりも修士卒を取りたがる企業が日本には多いみたいな話を漠然とは聞いていて、経済面での不安がありました。これに関してはアメリカの博士課程の方が経済面では良さそうという話や、アメリカの有名企業はPh.D.保持者を取りたがるらしいみたいな話を聞いたりして、アメリカの博士課程は非常に魅力的だなと思いました。

感情面・精神面の動機

海外院進という方針で行こうと自分の中で決めた最終的なきっかけは理性的な動機に基づくものが大部分ですが、たとえ合理的だからといってそれでは私の場合、心が折れそうになったり不安に押しつぶされそうになった時に私を支える力はなくて、こういう時私を支えるのは感情面・精神面での動機です。

これは初期から抱いているものと、3年生の秋くらいから抱くようになったものとの2つがあります。

動機1: 自分だって特別だということを自己確認したい

これは初期から抱いているものです。

それまでの人生を振り返ると、自分は平凡だとか劣等生だという刷り込みを長く受けて続けていたように思います。小学校3年生の終わりくらいから関西では大手の浜学園という中学受験の塾に通ったものの中学受験は失敗してしまいました。中高では親が鉄緑会にものすごい額を課金してくれたおかげでなんとか東大には入ることができたものの、鉄緑での日々は自分は根本的に頭が悪いんだという認識を植え付けられた日々でした。東大に入ると次は、様々な面で圧倒的にレベルが違う人たちを目にする日々が待ち受けていて、自分は何一つまともにできない、誰かに勝てる部分が一つもない人間なんだなと思うようになりました。

一方で、私は自他ともに特別だと認めるような人間になりたいという思いは昔から強いままでした。物語の主人公の持つ特殊な力に憧れてみたり、私もガチプロになりたいと願ってみたり、逆張りオタクであったり.....。鉄緑で自分は頭が悪いということを嫌というほどに思い知らされたはずなのに、東大の入学手続きのために初めて駒場に行った時に一番初めに思ったことは「私、ここで埋もれてしまうのかな....、それは絶対に嫌」という感情でした。

海外院進は、周りの東大生があまり挑戦しないことであり、成功すると多分尊敬してもらえます。海外院進成功するまでの過程が、自分が特別だと確認するための過程だと思っています。

動機2: その先の景色が見たい

これは3年生の秋ごろから抱いているものです。

五十嵐さんが留学を志したきっかけとしてブログに、『自分には「より多くの、美しい景色を見たい」という根源的な欲求があり、世界トップの大学でストレスで死にそうになりながら博士号を取った後は世界がどの様に見えるのか、非常に非常に強い興味がありました。』と書かれていました。初めて読んだ時、私は正直全く理解ができませんでした。

私は、3年生の6月ごろから精神的な問題が顕著になり、精神科への通院を始め現在に至ります。精神に明らかな異常をきたす前は猪突猛進、がむしゃら、物量作戦みたいな性格で、細かいことにはとにかく拘らない大雑把な性格の自分が好きで、自分の感情の繊細な部分には目を向けないようにしていました。ただ、精神的に異常をきたしてしまい、これまでの生活・思想を変えることを余儀なくされてしまいました。その頃から自分の感情の機敏に意識を向けるようになったのですが、勉強・経験等を通して何か新しい概念を獲得した、何か新しいものを体得したと感じた時に、達成感とかとはまた違う、視座が高くなるというか、文字通り見える景色が変わるという体験を何度かしました。その瞬間はとても豊かなもので、これを経験したおかげでたとえ回り道したとしても、そこで得られるものがあるということは本当なんだなぁと思えるようになってきました。

脱線しましたが、海外院進という道を進み始めていた私なのですが、挫折ばかりだし不安に襲われる日々なんですが、それでもせっかく進み始めたこの道の先にある景色を見たいと願うようになりました。私の解釈は五十嵐さんが意図したものとは全く違うかもしれないのですが、自分なりに解釈ができて、少し成長したのかもなぁと思いました。

余談: 私は進撃の巨人が好きなんですが、進撃の巨人の中でも一際好きなセリフの一つとして「ただし 自分で自分の背中を押した奴の見る地獄は別だ その地獄の先にある何かを見ている それは希望かもしれないし さらなる地獄かもしれない それはわからない 進み続けた者にしか…わからない」というのがあります。心が折れそうになった時はこのセリフを思い出して、これは私のはじめた物語、私はこの辛い日々のもっと先を見て進み続けるんだ、という気持ちになっています。

エピローグ

私は非常に幸運なことに、4年生の研究室配属で、非常に著名な松尾・岩澤研に配属されることになりました。先日あったシス創の国際研修の授業で先生方に、松尾研で博士号とったほうが研究者になる場合は良いという可能性もあるのでは?そういう可能性も含めて考えると良いよ、と言われました。それでもやっぱり私は海外院進がしたいんだという気持ちになりました。

私みたいな平凡な学生が海外院進なんて叫ぶのは正直気が引けるし、この思いを記事にして公開するのは恥ずかしいという思いがあって今まで記事に書くことはなかったですが、もう進み続けるしかないんだという高揚した気持ちで、深夜テンションで書いてしまいました。でも、いい意味でのプレッシャーになればいいっていうのと、自分がもしも将来迷ってしまった時に戻ってくる場所としてアリかなと思いました。

最後に。ただただクソガキが心に浮かんだものを書き連ねてお気持ち表明しただけの拙い文章を読んでくださり、ありがとうございました🙇‍♀️

キャンベラという街

お久しぶりです、takeshiho0531です。


今からちょうど1年前くらいに、大学のプログラムでオーストラリアに行っていて、その道中でブログを書いていたのですが、書き終わらなくてそのまま下書きの状態で放置されていました。

オーストラリア恋しいな〜という気持ちが強まったので(?????)、書きかけですが、1年ぶりに公開してしまおうかなと思います。(バスの中で書いてるというのもあってすごい誤字の量で意味不明な文も多いんですが、そのまま公開しようと思います)


こんにちは、takeshiho0531です。


私は今、東大のGo Global Gatewayのプログラムでオーストラリアに来ています。
2/13日の夜に羽田を出発して、2/14の朝からオーストラリアに来ています。
今までキャンベラに滞在していて、今まさにキャンベラを発とうとしているところです。(バスの中でブログ書いてます笑)
この研修に関して書きたいことはたくさんあって、道中では(今はシドニーに向かってます)書ききれなさそうなので、忘れないうちにキャンベラに来てみて感じたことを軽くまとめて書き記しておこうと思います。

. . . . . . . . . . . . . . . . . . . . .

何から書こうか迷いますが、まずは反省点から。


1点目、ポケットWiFiのプランを通信量無制限のプランにしなかったこと。
位置情報をONにすると普通に通信量を食います。日本でいる時に比べて格段にmapを見ることが増えるので、日本で使ってる通信量よりもかなり多くの通信量を使っていました。すぐに速度制限がかかってイライラしちゃったりしたので、次の海外旅行は絶対に無制限プランにします。


2点目、クレジットカードを作らなかったこと。
カード社会とは聞いていましたが、自販機では現金が使えないなどがあって、all 現金だった私は何かと不便なことが多かったです。
一番残念だったのは、スクーターに乗れなかったことです。バスの本数があまり多くないエリアはそれなりにあって、そこに行こうと思った場合、ちゃんと戻ってこれるようにするには早く戻ってくるか歩いて戻ってこれる距離までしか行かないかしか選択肢がなかったので、あちこちに足を伸ばしてみたい私にとってはかなり辛かったです。親がかなり心配性なこともあって、スクーターに乗るためにクレジットカードを貸してくださいとは到底言えませんでした。。apple payに登録していれば、デビットカードプリペイドカードでも大丈夫だったと重います。


スクーター関連で。
キャンベラにはスクーターがあるせいか、バイクが少なくて、環境には良いのかなと思いました。15km/hと25km/hの2段階で速度調整できるらしく、結構スピードが出るみたいですね。怪我をしたという判旨を聞いたりもして怖いなとも思いますが、スクーターを乗りこなしていた班員が、とても快適に乗れる風に話すのでいいないいなとなってました。


バスもキャンベラの主要な交通手段の一つです。
ただ、どこかの観光地に行こうと思った時にバスは乗るのですが、なぜか歩かないといけなかったことが多かったです。キャンベラは今の季節は夏で、湿度が高くないため日本の夏よりは快適なのですが、日差しが強くて辛かったです。
また、国民性というものでもなさそうですが、草が生えてるエリアを普通に歩いて通るんだなということに驚きました。どういうことかというと、芝生などの草が植えてあって、それを囲うように道が存在する時、私なんかは遠回りでもなんだか道を歩いてしまうものですが、オーストラリアの人たちはみんなその草地を突っ切っていました。引率してもらった時はついていくのに必死で草地を私も突っ切っていましたが、靴の中に草やら何やらがたくさん入ってしまって不快でした。。


交通機関繋がりで行くと、トレルという路面電車が走っていました。

Gungahlin Place という終点、キャンベラの中心街であるシティの反対側にある駅とその周辺が、キャンベラ観光した中で一番好きだったかもしれません(それか、夕暮れ時のBurley Griffin湖か)。
人の規模は小さいもののシティにあるような飲食店があります。いい具合にこじんまりしていて、シティのように人が集まるところが嫌いな私にとってはこちらがとても快適でした。。(毎日どうやって東京なんかで生活してるんだろうって自分でも疑問です。)
外食をすると大体20豪ドル消えるという感じでした。
お気に入りの韓国料理屋さんも見つけました。韓国冷麺が大好きなので、食べれてよかったです。一緒にスプライトの缶を開けるのが最高すぎました!!(オーストラリア来てから毎日スプライト飲んでる...)
そこの韓国料理屋さんに入ると韓国語が話されていて、あの街での韓国の方のコミュニティの拠点として機能しているのかなという感じがしました。


Gungahlin PlaceにもシティにもColesというスーパーがありましたが、少なくともキャンベラではこのスーパーが独占的であるように感じました。

2023年 振り返り

なんで2024年になってこんなブログをあげているんだこいつは、というお話なんですが、2023年12/31に書くつもりがあいにくインフルエンザにかかって寝込んでしまっていたので書けてなくて、今更ながら書いてます。

1月1日ももうそろそろ終わりそうなのでもう1月2日ですが軽く私の2023年を振り返っていきたいと思います。

 

-----

  • 1-3月: 2年生ラスト!
    • 2月: 東大のプログラムでオーストラリアに10日ほど行ってきました。キャンベラに1週間くらい、その後シドニーにほんの少し滞在して帰ってきました。キャンベラにいた時は朝から午後6時くらいまではANU(The Australian National University)で講義を受けたり研究施設の見学をしたりして過ごして、その後は午後11時くらいまで自由時間、という感じの日々を過ごすことが多かったです。ANUの講義は、私の専攻しようとしている分野とも全く違い、知識も全然足りない状態だったので毎日夜遅くまでホテルで次の日の予習をしていたことを思い出します。ANUでは学生がバーベキューで迎えてくれたりして嬉しかったです、カタコトながらもなんとか話そうとしている私の言うことを一生懸命聞こうとしてくれたのも嬉しかったです。Instagramを交換して今でも交流がある友人も多数います。また、夜の自由時間を使って目一杯キャンベラを探索できたのも良かったです。日没が夜8時とかだったおかげでキャンベラをたくさん散歩できたし、電車の終点まで行ってお気に入りの韓国料理屋さんを見つけることもできました。キャンベラは何もないなんて言われているのを見たことはありましたが、私はむしろなんだろう、キャンベラの少し田舎じみたところがむしろ大好きになりました。今でもしょっちゅうキャンベラに行きたいって思います。
    • 3月: 長期インターン先でフルタイムのインターンを経験しました。深層学習のコードのリファクタから始まってAPIというものを学び、Kubernetesでデプロイができるようになり、幅広い技術に触れる機会を頂けたなと思います。
  • 4-6月
    • 4月-: ここまでは実はインターン先では画像系のチームに入っていたのですが、LLM(Large Language Models; 大規模言語モデル)のチームに移動しました。この時から今まではずっとLLMのチームにいます。LangChainといったライブラリの習熟を急ぐ一方、Vicuna、その後はLlama2といったLLMを実際にfine-tuningするなどの経験もさせてもらうことができました。この経験は私の今後の方向性に大きな影響を与えたと思います。限られたメモリでfine-tuningをするにはたくさんのものに頼らなくてはいけなくて(LoRA、Flash Attention、FSDP、QLoRA etc.)、でも使おうとしてもエラーが出て、なんか分からないけどIssueとかをみてそれをコピペしたらなんとか動いた....みたいな経験をたくさんしました。なんか分からないままコピペしなくてはいけなくなってるのは、私がCUDAとかのことを何もわかってないから、低レイヤのことが何も分かってないから、GPUのこと何も分かってないから......。また、GPUを大量に買うお金がある企業だけが勝っていくのは面白くないじゃん....という気持ちもありました。もともとハードに近い領域ってめっちゃかっこいいよね〜と漠然と感じていたのですが、それにこのような少し具体的な興味の対象が見えてきたことで、私の中ではハードやりたい!のお気持ちが急速に強くなっていきます。
    • 5月-7月: Google STEPというものに参加してみました。女子大学生で情報系のキャリアを目指そうという方は是非チェックしておくと良いと思います。ここで私は今まで機械学習関連一筋で情報系のことを勉強してきたのですが、アルゴリズムというものを知る機会が得られました。一方で、同期で参加していた女の子達は私よりも遥かにアルゴリズムに関しての知識も思考力もあり、メンタル的には非常に厳しかったです。向こうは大学でコンピューターサイエンスの授業をちゃんと受けてるんだから私よりもできて当然、と自分を納得させようとする一方、女子相手に負けるというのは非常に非常にショッキングな出来事でした。(差別的な意図はないのですが、どうしても周りでパソコン系強いと思うのは男子ばかりだったので.....)結局教育コースの次にあるインターンの選考には落ちてしまいました。
    • 5月-: この頃から明らかに精神的に異常をきたすようになっていたと思います。具体的には、なぜか頑張ろうと思ってもどうしてもできないというところから始まって、長く寝ようと思った日でも夜3時間に1回は目が覚めてしまう、寝付くのにほぼ毎日2時間以上はかかる、(夜寝れないせいか)17時ごろには気絶してしまいそうなくらいに疲れている、集中力が全くなくなってしまう、息が苦しくなる、動悸がする....という感じで耐え難いものになっていきました。今から振り返ると、その前までは寝たら終わらないから寝ることに罪悪感を持ってしまうなどという理由で毎日4時間半未満の睡眠での生活を長く続けてしまっていたことに加え、気温の急激な変化等もあったのかなと思います。精神科に通うというのに偏見を抱いてしまっていて行くのが嫌だったのですが、ついに通う決心をしてみてもらうことにしました。その後は今に至るまで抗うつ薬睡眠薬をずっと処方してもらっていて、薬を服用することでだいぶん回復してきています。病院に行って良かったと思っています。
  • 7-9月: 休養期
    • 7月: 大学の集中講義で低消費電力で高速に画像認識処理ができる半導体回路設計をしようという授業を履修しました。これは私がハードに漠然とした興味を持ち始めたことを知った友人が教えてくれたもので、友人には非常に感謝しています。AIモデルを扱ったことがあるという理由で上級者コースという院生しかいないコースで受講することになりました笑。受講人数がとても少なくて先生とのコミュニケーションが密に取れたのは良かったです。ただ、ハードに関して何も分からない私は、モデルをいじるといったハードとは全く関係のないことしかできず後は高位合成に任せた!みたいな感じになってしまい、非常に歯がゆい思いで終えた講義でした。
    • 8-9月: 長期インターン先でフルタイムインターンをしました。精神面での不安がとてもとても大きかったのですが、規則正しい生活を送るために、と参加することを決めました。今回のタスクは心機一転ソフトウェア(Web開発)を行うことになりました(私が静的型付けの言語やりたいという雑すぎリクエストを出したのにちゃんと拾ってくれた!)。ここではTypeScriptの他にReactやNextJSを覚えました。NextJSのルーティングのところからわかっておらず明らかに出発から転けていたものの、メンターの方が突き放すでもなく手取り足取りでもなく絶妙な距離感でリードしてくださったおかげで、途中からは非常に楽しく開発をすることができました。また、今まで機械学習系のプログラミングをしていた時は動いてやっと達成感が得られていて動かないとイライラという感じだったのですが、Pythonに比べてTypeScriptを書いてる時は安心感がありプログラムを書くという行為そのものがずっと快適で、また、今まで書かれていたコードを読んだりPRでコミュニケーションを取ったりして「良い」プログラムとは何なのかというものを自分で体得していく過程も非常に深いものがあって(ソフトウェアの開発なので機械学習のコードよりもこういうところに意識を払わないといけないがち)、プログラミング経験を楽しむというのもあるのだなぁと思いました。これがこの回のフルタイムインターンで得られた最も大事なものなのではないかなと思います。
  • 10月-12月 
    • 10月-11月: ここで私は我に返ります、Web開発楽しいし深いんだけど、私ってWeb開発とかするソフトウェアエンジニアになりたいんだっけ....??違う、私は海外でPhDを取ることが先なんだって!その方向性として深層学習がイマイチ自分の思想に合わなさそうとなっているのに、ハードへの未練謎に残したまま何もしてないのに、このまま終わっていいの....??という焦燥感を抱き、7月に受けた集中講義の先生にメールをしてなんとか研究を手伝わさせていただくことはできないでしょうか....???と頼み込み、幸運にも快諾していただけました。ただ私はverilogなどは全く触ったことがなくて、なんか分からないけど飛び込んだ....という感じでした。また、verilogを実際に書いてみる時期になっても、全然掴めておらず自信を失ってしまって、なんか方向性を間違っちゃったのかな私...と思う日々でした。
    • 11月: インターン先ではWeb開発のチームは離れ、また機械学習系のチームに入りました。正直、Web開発があまりにも充実していたので燃え尽きていたというかあまり乗り気ではなかったとはいえ、他に何か熱を入れていたわけでもなく、一生懸命仕事をこなしていました。
    • 12月: 電気系の学生がFPGAの実験の際に使うらしいと聞いた教科書(実践 コンピュータアーキテクチャ)を買ってみてやってみました、これがすごく良い出会いでした。薄い本なんですが、まずは手を動かすところから入るのが向いている私には良かったのと(シミュレーションソフトの動かし方まで書いてあったのが助かりました....)、何よりもこの本をやっていて「自分はとてもcoolなことをやっているんだ」という(謎の)強い確信を得ることができて、ハードに対する感情が大きくなっていきました。また12月終わり頃にはverilogに急に目覚めて(その時の感情をなんとか残そうとした記事↓)、ますます大きな感情を抱くようになりました。このような経緯でインターン先はしばらくお休みするという結論を出しました。

       

      takeshiho0531.hatenablog.com

 

-----

 

またまた長々と書き連ねたまとまりのない拙い文章になってしまいました、読んでくださった方々、ありがとうございます.....!

 

3年Aセメスター

明日は入学式的なものがあったような気がしていて大学はないのですが、明後日からは夏休みが終わってついに大学が始まるという時期になってしまいました.....
私もなんだかんだ言って大学3年生の後半に突入してしまいました(悲しい)。(東大では10月からの学期をAセメスターと言います)

まあなんで3Aセメスターの抱負的なものをここにつらつら書いていこうかなと思ってます。


まず学業面ですが、これはしっかり単位を取得していきたいですね☆
低レベルの目標で非常に申し訳ないのですが、私の在籍しているシステム創成学科が幅広い分野を扱っている何をやっているのかわからない学科なので、履修しなければならない科目の分野がとても広く、正直に言ってあまり興味のない科目に関しても取らないといけなかったりして少し厳しい部分があります。(進振り前は特に何をやりたいのか自分でも全くわかっていなかったのでこれがよく見えたのですが...)
また前学期で精神面で不調が響いてしまったこともあり諦めた単位もあったので、今学期はちゃんと卒業できるように単位回収がんばりたいです...!(やはり低レベル)


次にインターンに関して。
12月でエンジニアのインターン1年目が終わります。私は今までたくさんの人に助けてもらってなんとかやってきてこれたという感じなのですが、まあそろそろ少しは頼りになるかな?くらいの人間になれるようになっていきたい時期ですね。
プログラミングを始めて間もない時期はすごいエンジニアって幼い頃からずっとコンピュータを触ってきててなんでも技術を知ってるからそういう存在には絶対になれないんだろうなみたいなふうに漠然と思ってました。けれども、技術は日々進歩していて日々新しいものが創られているわけであって、技術をなんでも知っているというのは当然ながらあり得ない状態です。「すごいエンジニア」っていう存在はきっと技術を吸収するという点に関して貪欲さやこだわりといったものがあるのだと今の私は思っています。ソフトウェア全くわからないですみたいな1年近く前の状態から基本的なことはわかってきたかも?みたいなフェーズに今移行してきていると思っていて、ここの段階からもう一歩抜けるには技術の吸収という点でなんらかのこだわりや貪欲さというのを身につけるべき時期に差し掛かっているのかなぁと漠然と思っています。


最後にRA(research assistant)に関して。
今学期からRAに挑戦する予定です。インターンが1年経ちそうというので今年はさらに新しいところに挑戦しようと思い立ったわけです。
私が所属している学科の研究室ではなくて工学部の別の学科の研究室なのですが、AIプロセッサの研究をしている研究室です。
インターンでは深層学習のいわゆるレイヤーが高い部分の業務をやっていますが、こちらはハードという感じです。
元々インターン先のタスク関連で「AI」の中でもAIで何ができるかというよりも深層学習を行う基盤技術の方に自分は興味があるんじゃないかと思うようになって、この研究室が開いていた集中講義を履修したのですが、もっとやってみたいなと思ったので先生にメールを送りました。集中講義でもかなり面倒を見てもらっていたこともあって先生も私のことを覚えていてくださり、ありがたい事に割とトントンと話が進んだ感じです。
来年は海外の研究所で研究インターンをしてみたいなと思っているので、研究とは何かみたいなものから学べる機会を得ることができて本当に嬉しいです。
ハードに関する知識や技術が私にほとんどないという問題点もあって不安ではあるのですが、できなくても学んでできるようにすればいいや!という心意気で飛び込んでみました。足を引っ張らないように全力でがんばりたいです!


前学期で精神的な問題を抱えてしまい完治したとも思っていない中でこうやって自分にどんどん負荷をかけていっているのは正直不安でしかないのですが、ここで挑戦しないと私の人生設計が狂ってしまうし、だいたいやってみないと分からないし上手くいかなければそれはその時だと思ってます。
本当に勝負の学期になる気しかしないですが、最善を尽くしたいと思ってます...

初めて論文を読んでみてコードを動かしてみて自分のデータでやってみてのお話

こんにちは、takeshiho0531です。

 

実は12月からインターンを始めていて、たくさん勉強させてもらっています。

今回はそこでfew-shot segmentationというものについて勉強した(している)ので、それについて書きたいと思います。

---------------------------------------

few-shot segmentationとは、通常の深層学習を用いた画像認識タスクでは学習に大量のデータが必要になるのですが、そこを数枚の学習データととそのアノテーションデータを用意するだけで、特定のクラスのセグメンテーションができるようになるという技術です。(ざっくりしすぎ??)

 

特にその中でもBAMという2022年3月にChunbo Lang氏らによって発表されたモデルについて勉強しました。このモデルを選んだ理由は、「Few-Shot Semantic Segmentation」のPapers WIth Codeを見ていた時にCodeについている星が多くて超初心者の私でもなんとかなるかもしれないと思ったからです。

BAMのPapers With Code → 

Learning What Not to Segment: A New Perspective on Few-Shot Segmentation | Papers With Code

github → 

GitHub - chunbolang/BAM: Official PyTorch Implementation of Learning What Not to Segment: A New Perspective on Few-Shot Segmentation (CVPR 2022 Oral).

論文 →

https://arxiv.org/pdf/2203.07615v2.pdf

 

この論文で初めて、Computer Visionの分野の論文を読んでコードを動かしてみて自分のデータでもやってみるということをしました。コードを動かすというのはこの論文のgithubのUsageのStage〇と書かれた部分をやってみた、学習・検証を言われた通りにやってみたということです。学習・検証にはインターン先のGPUを使わさせてもらいました。

 

やったこととかに関しては別の記事にしてちゃんと書きたいなと思っています。この記事ではやってみて(全然終わったわけではないが一区切りはついたかなという感じのタイミングなので)感じたこととかを忘れないうちに残しておこうと思います。

 

やったことなんて、特に学習・検証の部分はもうすでに書かれたコードを言われた通りに動かしたことだけで、難しいことは何一つとしてしていないのですが、長く苦戦していました。このパートでうまくいかなかった原因は、適切にファイルを置くことができていなかったからだと思います。もっとも多かったのはダウンロードがうまくできておおらず歯抜けになっていたり壊れていたりしていたこと(なんにせよデータがものすごく重たいので...)、あとは元々書かれたパスを適宜書き直さないといけなかったことが多かったという印象があります。こんなところで失敗するなんて考えていなかったので経験を積んでみるというのは大事なんだなと実感しました。自分のデータでやってみる、というパートで苦戦した理由は、自分の勉強不足だったと思います。具体的には転移学習って何、ファインチューニングって何、重症なものだと推論がよく分かってなかったというのが挙げられます。推論がわかっていなかったというのは重症で、私の場合は単に

可視化するのと何が違うのか、model.eval()にしたらどうなるのか、evalモードになったmodelになんの引数を渡せば推論ができるのかといった基本的なことがよくわかっていませんでした。torch.nn.Moduleの挙動が全くわかってなかったです。改めて自分ってカスなんだな〜となってかなり落ち込みましたが、でも実際に自分でやってみるのは本に書かれたことをなぞっただけの知識を自分のものにしていくのにすごく大事なんだなあとなりました。ちょっとはわかるようになったかな?

 

---------------------------------------

さて、すごく眠くなってきたのと1.5日後くらいに締切のレポをやらなければいけないので今日はこれくらいでご勘弁ください。

ではでは〜👋👋

 

2022年 振り返り

こんにちは、takeshiho0531です。

 

まめじゃないせいでお久しぶりになりました。黒豆は前の正月もいっぱい食べたはずなのになあ。

今日は大晦日ということで、2022年の振り返りをしようかと思います。ただ、年末という実感が全く湧かずにブログを書くのを引き延ばしすぎた結果、あと30分くらいで2022年が終わりそうという状況で、だからざっとだけ振り返ります。

 

---------------------------------------

 

2022年は正直なところ人生が大きく変わったと言っても良いほど大きな変化を遂げた一年でした。今までの人生の一年の中では一番人生が変わったと思います。あまりにも大きく変わってしまったので、自分が別の人間の人生を途中から乗っ取ってしまったのではないかと思うこともあるくらいです。だからこそ、30分しかなくてもブログに残しておきたいと思うわけです。

 

1月・2月は、それまでの私から大きな変化はなかったと思います。元来向上心が強い人間なので今のままではダメ、強みを持ってもっと輝く人間になりたいという強い思いが疼いてはいましたが、蓄積はされていたものの実際の変化に繋がることはなかったと思います。ただこの時期の自分を褒めてあげたいのは試験・レポートを頑張ったこと。1Sの成績が凄惨を極めていて進振りに関しても結構絶望的な時期でテスト勉強中も何度も未来のことを考えて心が折れかけたのですが、目の前の課題に精を出すことに集中できたのは本当によかったです。おかげで成績はなんとか持ち直し、進振りにも少しの希望が持てるようになりました。

 

春休みは普通に遊んでいました。大切な人と大切な思い出が作れたという観点では貴重でした。特に勉強はしてなかった気がしますが、それでもいっぱい遊んで充実していたという実感があるので許します。

 

2Sセメスターになり、進振り先を真剣に考えるようになりました。1Aセメスターの成績がそれなりに良かったので、情報系の学科にも進学できるかも?という状況になりました。昔からパソコンカタカタしてる人はカッコいいって思っていたこと、数学物理と違って明らかな不適性であるということが確定はしていなかったこと、食べていくのにも困らなさそうなこと、こういった理由で情報系に行きたいかも?と思い始めていました。(だからといって、アルゴリズム入門の授業もも真面目に取り組んでいなかったし自分からプログラミングの勉強をすることもなかったわけだが...) 進振り先は本当に真剣に考えていて、自分の基本平均点、どこの大学院に行けるのか、周囲のレベル、自分の性格との相性、授業等を総合的に考え、友人にも何度も相談に乗ってもらいました。感謝しています。何度迷っても結局ここに戻ってくるということで、工学部システム創成学科Cコースに進学し大学院は海外の大学院に進学するということを心に決めました。この選択は現時点では最適解だったのではないかと改めて思います。

 

進学先が固まり始めた私は、何か強みが自分に欲しいと思い始めました。私は劣等感を異常に感じてしまう性格でそれゆえに精神状況が悪化することが多い人間だったからです。潰されないための強みを渇望するようになりました。そこで新しい学科の人と出会うまで数ヶ月は猶予があるから、その間でも何かを頑張ろうと思いました。そこで選んだのは機械学習でした。特に深い理由もなく、大学に入って出会った先輩がKaggleとか言ってたのを思い出してなんかカッコ良さそう??と思ったくらいの理由です。ただこの分野を選んだのはそれなりに良かったのではないかと思います。今すごくホットな割に2年になったばかりの人で機械学習を本格的に勉強している人は、機械学習のホットさから考えればかなり少ないからです。(個人的な感覚ですが。) やっぱり他人ができないことができると、私ってもしかしてできるかも?みたいな勘違いからもっと勉強したい!!差をつけたい!!と(少なくとも私は)なります。先取りして勉強してみたおかげで自己肯定感が異常に低い私も少し自信を持つことができるようになり、挑戦する勇気のようなものを得ることができました。海外の大学院という選択肢を持つことができたのも自信が持てたおかげだと思います。それまでは、遥かに届かないことを自覚するのが怖くて留学等を意識高い系のやることだろと冷笑して目を背けていた立場だったのですが、このままでは届かないという事実を正面から受け入れられることができました。また、灯というAIを勉強するサークルに加入することができたこと、機械学習コンペのグループに参加することができたことなども自信が少し持てたおかげで足を踏み出せた結果だと思います。

 

また、機械学習の勉強を始めて良かったと思うことは深層学習というものを知れたことです。『ゼロから作るDeep Learning』のシリーズに出会えたことは幸せでした。(まだ3巻目の途中ですが...) 一から作ることでなんだか愛着みたいなのが湧きました。深層学習は今まで聞いたことある?くらいの存在でしたが、気づけば有用さ不思議さに興味を持つようになっていて自分でも驚きました。

 

あとこれも言っておきたいということですが、今年素敵な言葉と出会いました。

 

 

そう、運は自分で引き込まないといけないんだ!特に私のような凡人の中の凡人にチャンスが空から降ってくるなんて幻想なんだ、全力でチャンスを引き込まないといけないんだ!と思いました。正直この言葉と出会ってから心の持ちようが変わったとはっきり感じます。だから、2023年の春休みの短期留学に申し込んだりや夏休みの海外の研究インターンに応募したりインターンのお声かけにすぐに乗ったりしました。次はこの姿勢を維持しつつ掴みに行ったチャンスを120%活用できるように努力したいですね。

 

これで最後くらいにしようかと思うのですが、海外院進を視野に入れるようになってから、ロールモデルのような方を見つけることができました。その方が自分の夢を叶えた軌跡や気持ちの持ち方を積極的に発信してくださるおかげで、孤独に耐えることができたり重大な決断を下すことができたりした瞬間が数えきれないくらいあります。本当に憧れる方を見つけることができて、人生がますますチャレンジングなものになっている実感があり、本当に感謝しています。

 

 

---------------------------------------

 

なんだかダラダラとまとまりなく書いてしまいましたが、まあいいや。これ生意気なことばかり書いているから将来見返したらすごい恥ずかしいんだろうな.....

もう日が変わってしまいましたが、私が寝るまで日は変わらないという認識なので!!(←???????)

 

ではでは〜👋👋

『PyTorchによる発展ディープラーニング』1-4 AWSのAMIの選び方

こんにちは、takeshiho0531です。

 

先週が東大ではA1タームという学期(??)の末で、それのちょっと前からレポートなりテストなりに追われていて久しぶりのブログ投稿になってしまいました。。

 

以前のブログでも『PyTorchによる発展ディープラーニング』に関して触れていましたが、一応一読はしました!今回はその中で初っ端から詰まってしまったAWSインスタンスの選び方について、私はどうしたのかを書いてみることにしました。

---------------------------------------

 

『PyTorchによる発展ディープラーニング』の中では1-4で選ぶインスタンス、起動のさせ方など詳しく書かれていますが、書かれた時から時間が経っているせいか、本の中で言及されているAMI(Amazon Machine Images)を見つけることができませんでした。

 

どうしたのかという結論から言うと、クイックスタートAMIから「Deep Learning AMI GPU PyTorch 1.12.1」というのを選びました。

AWSの画面のスクリーンショット

クイックスタートに入ってるくらいだからよく使われているということじゃないかなと思ったからです。このAMIに関しての説明は、

aws.amazon.com

に載っていましたが、

"Initial release of Deep Learning AMI GPU PyTorch 1.12 (Ubuntu 20.04) series. Including a conda environment pytorch for python3.9 complimented with NVIDIA Driver R510, cuda=11.6.2, cudnn=8.4.1, nccl=2.12.12, and efa=1.16.0."

とあり、conda環境でPyTorchが使えることを確認し、これにしました。

 

これに関しては他にも注意点があって、本の中ではp2.xlargeのインスタンスを起動させるように書かれていますが、スクショのところに書かれている通り、"Non-supported GPU instances: P2"と書かれています。上にリンクを貼った、AMIの説明に関するページで詳しくサポートされているインスタンスが記載されていますが、私はその中でもP3インスタンスのp3.xlargeを選びました。(私が使っていた時はP2インスタンスがサポートされてないってはっきり書かれていなかった気がしていて、実際コードを書いて

torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

としても"cpu"が返ってきてしまって??となっていたところ、

Why is the GPU not working out of the box for Deep learning AMI EC2 instance? | AWS re:Post

のページを見つけて原因がわかり、解決できたという感じでした...)

 

さらになんですが、p3.xlargeにした場合、最低でも8vCPU必要です。ですが、現在(2022.12)はどこのリージョンでも制限がとても厳しく、大体どこのリージョンでも0vCPUが上限となっており1つもインスタンスが起動できない状況だと思われます。(制限は左のリストの「制限」というところから「制限の検索」という検索窓に「インスタンス」と入れるとすぐにみれました。)

AWSのEC2の画面

なので、この制限を緩和してもらう必要があります。まずはAWS Support Centerにアクセスして、"Open Support cases"というところからCreate caseをします。

AWS Support Conterの画面

Create caseボタンを押すと画面が遷移し、"Looking for service limit increases?"をクリックします。

Looking for service limit increases?

その後は、Limit typeをEC2インスタンス、プライマリインスタンスタイプをAll P instances、New limit valueを8にして欄を埋めていって一番下のSubmitボタンを押せば大丈夫だと思います。

結論から言うと、多分このリクエストは却下されます。ですが、そこでめげずにReopen caseをして、勉強に必要でこの勉強をしないと〇〇でダメなんです😢、みたいな感じで正直に書いて、個別に対応してもらうと上限を緩和してもらえると思います。担当者の方には丁寧に対応していただき、感謝しています。

 

最後に注意点ですが、P3インスタンスはP2インスタンスよりも値段が高い(私がやっていた時はP2の3倍くらいの値段が毎時発生していた)ので、安いリージョンでインスタンスを起動することと必要ない時はインスタンスを停止し忘れないようにすることが大事だと思いますー

 

---------------------------------------

なんだかすごく長くなってしまいましたが、ただの初心者のブログですが、少しでもお役に立てれば幸いです(思い上がりか?)。読んでくださった方、本当にありがとうございます。

こういう系のブログばっかになるのもなんだか嫌だなあ。考えます。

ではでは〜👋👋