ITエンジニア日記 #2 Coursera ML講座に挫けながら英語をやっている



ML講座への特攻及び敗北の話


前回の記事でやらない宣言をしたため「機械学習をやらないやらない詐欺」となってしまい申し訳ないが、

ChatGPT-4で遊んでるうちに湧いてきた好奇心が抑えられず、3月末にCourseraのMachine Learning講座を受講し始めた。
↓リンクはこちら。
https://www.coursera.org/specializations/machine-learning-introduction

これは、スタンフォード大学とDeepLearning.AIによる機械学習の講義がネットで受けられる、というもの。

内容は抜群に評判が良く、
また有料(受講料月額6656円)だが、すべての試験をクリアすれば修了証書が発行でき、履歴書にも書けるらしい。

当たり前だがほぼ全部英語。日本語の字幕は最初の方だけにある。英語字幕は全てにあるのが救い。

最初の数本を見て「自分の英語力でも意外と行けるのでは?」と感じて突撃してみた。

一応断っておくが自分の英語力は、最低限の文法・語彙はかつて勉強したもののだいぶレベルが低い…と思う。

結果

結果はと言うと……
全三回のうちの第一回(3週間)は、なんとかクリア。


しかし第2回の3週目の途中で
「これ期限内に終わらせるの無理!」と思ってドロップアウトしてしまった。

所要時間/分量

大体試験合わせて毎週10時間以上は勉強が必要で、まあハードだった。
週ごとの最後の試験だけで2.5時間ぐらい。
ついでに、正確に測ったわけではないが1本 500words ~ 1000words ほどの講義動画が10数本毎週あるので(尺としては計2時間ぐらい)、words数としては1万words/週を超えるぐらいだと思う。英語弱者には相当多い……。

内容について


内容は「理論より実践」という感じで、
数学的背景は細かく説明せず、現実の問題解決とそれに付随する様々な問題を実用的手法によって解決する、というのが基本スタンスとして一貫していると思う。

例えばバックプロパゲーションの数学的解説はほとんどなく、グラフを使った説明がOptional講義として用意されているにとどまっていたり、
モデルが上手く行ってるかを検証する方法の解説にかなり時間を割いていたりする。(自分が挫折した6週目は1週丸々それ)

敗因

敗因は色々と思い浮かぶ。

  1. まず、英語力が足りない。英語を講義のスピードで難なくストレスなく理解出来る程度でないと、日々の講義消化すら大変。

  2. 元気がない!仕事・家事・他の趣味をこなしながら毎週10時間以上の勉強を、三ヶ月休みなく「オラオラオラ〜!!!」とこなし続ける元気は自分にはなかった。

  3. クリア出来た所は和書である程度勉強済の所で、逆に挫折した所は初めて聞く話題がてんこもりだった。事前に機械学習の和書で知識を得ておくべきだった!

どうすればいいかはまあ、明らかですね。

対策

英語について 

自分の英語力の不足を致命的なもの順に並べると

1. 語彙が足りない/曖昧
2. ちょっと長いor複雑な文の英文解釈が弱い
3. 多読に対する耐性が弱め

この3つ、と感じている。
語彙はやるとキリがないが、とはいえ「なんとなく知ってるけど…」みたいなものさえ都度ググっていてまあ時間の無駄だった。

  1. 語彙はかつて周回しまくった「Duo3.0」を何十周も回して記憶を取り戻す

  2. 英文解釈はかつて読んだ「基本はここだ」を理解し直す。英文法も部分的にやり直す必要があるかも

  3. それらがある程度身になってきたら「速読英単語」で多読練習。

色々考えた結果、英語リベンジについてはこのプランで行くことにした。
3冊とも高校〜大学時代に繰り返し読んだ本なので、一度学んだ本の方が効率が良いと考えてこれらを選んだ。
英語ガチ勢からすると「結構レベル低いな」…と思うかもしれないが、
少なくともML講座については難しい語彙や表現などは出てこないし話す速度も良心的なので、
この辺がちゃんと出来ていれば英語に関してはついて行ける感じだったりする。(というか、これらが完璧でなくとも5週目までは割となんとかなった。とても大変だったが…。)

元気と相談しながら続ける方法

かなり長く勘違いしてたが、Courseraが切ってくる期限は実は厳守しなければ即失格、というようなものではなくて、それなりの猶予があるものだった。
なので、「あ〜今週無理!」と思ったらその週は素直に休んでしまえば良かったのである…。
そしてコースごとに期限がリセットされるので、3~4週間で1コース終わらせたら2週間から1ヶ月程度は復習と休憩に当てる、というやり方が多分現実的かつベスト。
また、スマホでも講義は受講出来るし1本5~12分とかなので、気楽にスキマ時間に見るなど時間を上手く使うのも良さそう。
そしてそもそも「英語読むこと自体がストレス」という状態を脱するぐらい英語力があれば時間/気力ともに節約になってより低カロリーでこなせると思っている。


機械学習について

数学は改めて学ぶ必要はないと思うが、
「機械学習のエッセンス」等、講義と話題が一部かぶっていてなおかつ自分が弱いところ(numpyの基礎やクロスバリデーション等)を抑えた和書は必ず読んだ方が良いなと感じた。

また、講義再受講時の勉強法としての改善点は、

・講義を見てクイズをこなすだけでなく、必ずevernoteに学んだ内容のメモを作る(日本語で)
・コードが出てきた箇所では、numpyに慣れる目的も兼ねて必ずすべて写経する

これも必要だったと感じた。
(jupyterによる実行環境が用意されてるので、サンプルコードの一個下にブロック作って写経→元のコード消して実行、とすれば写経は容易)

挑戦と失敗から学んだ色々

英語と勉強に関する自分の現実を知った



まず…前回の記事にも書いた「通信制大学に興味がある」という件に関連した話。
英語圏のオンライン大学だと、調べた限りではCoursera ML講座レベルの最低2倍ぐらいは常に勉強が必要だろうから、まず英語力が圧倒的に必要だなと思った。
ただ、そう思える程度には自分の英語レベルと課題、目的への距離感がかなり明確になったのでまあトライしてみて良かったな、と思う。

また、社会人をしながら継続的学習を続けることのリアルな難しさがはっきりと理解できた事もとても良かった。

英語が出来れば世界が開かれるという感覚を得た


英語の情報は日本語情報と比べて桁違いに広いが、
これまで「洋書かあ…」とか「英語動画かあ…」と諦めてた様々な情報源が一気に心の中で身近になった。
具体的には、(技術にしろ日常の話題にしろ)ググるときに英語でググって英語の記事を探すというのがいつの間にか自分の中でごく当たり前のことに変わっていた。
これは結構大きな変化な気がしている。英語力はともかく心の壁は破壊されたんだな、と思う。

また、Courseraや他のMOOCでは世界トップクラスの大学の講義が山ほど受講出来るので、
「英語さえできればこれらにすべてアクセス可能なんだ」と思うと心躍るものがあった。
アルゴリズムの講義、数学の講義、並行・並列・分散プログラミングの講義、コンパイラの講義などが気になってる(何年かかるんだろう…)

勉強習慣が付いた

いつの間にか「毎日英語を勉強する」ということが自分の中で当たり前になっていた。
一般的な勉強家からすれば「そのレベル?w」という話かもしれないが、
このおサボり大魔神としては大きな進歩なのである……。

Duo3.0はmikanというアプリで勉強しているが、
1セクション長くとも2分程度で終わるため、1~2分単位で勉強が出来てしまう。
「1~2分でもスキマ時間があれば勉強に当てられる…!!」
この感覚は自分の勉強に関する意識を大きく変えた気がする。飲食店のちょっとの待ち時間とかにアプリを開く癖が付いてきた。

やってよかった

こうして書いてみると、「挫折」という形での敗走ではあったけど、
次につながる手がかりはたくさん得られたので、やってよかったなと思う。
今後としては、勿論英語と機械学習の基礎が出来た上でML講座に再挑戦する予定でいるが、

英語力を客観的に測ってみたい&ひとまずはリーディングとリスニングだけで良い
→TOEICがベストでは?
と思ったので、長い目で見たマイルストーンとしてのTOEIC受験も考えてみてもいいのかもしれない。

勿論他にもやることがあって、AWSとかOAuthとか勉強したいことは色々あったりする。
まあ大忙しだけど、気楽に頑張っていきましょう。と自分に言い聞かせていきます。

最後に

予定は飽くまで予定、計画は飽くまで計画で、
「やってみないことには何もわからない」
それを象徴した数ヶ月だった。

ここに書いたことも前みたいに覆るかもしれないが、
前回に引き続き今回も文章化してみてとても頭の中が整理されて、ぐるぐる思考が減っていい体験だった。
今後も定期的に日記を書いていきたい。

この記事が気に入ったらサポートをしてみませんか?