文系学生がこの2年間機械学習を学び実践した記録

# 概要
- Qiita運営様からアドベントカレンダー著者募集！みたいなメールをいただいたので，最近Qiita書いてないな＆アドベントカレンダーってやつやってみたいなというので，自分でも書けそうな[機械学習をどう学んだか by 日経 xTECH ビジネスAI② Advent Calendar 2019](https://qiita.com/advent-calendar/2019/machine-learning-01)に参加してみることにしました．
- 要約すると：
    - 文系の学生，無茶振りでAI講師に
    - 学生団体で勉強→自学自習
    - インターン・勉強会・ハッカソンなどでアウトプット
    - 来年春からデータサイエンティスト

# 自己紹介
- 東大教育学部の4年生．教育行政みたいなことやるコースですが卒論は自動要約についてやってます（謎）
- AIについては2017年くらいから関わるように．それまではプログラミング自体やったことなかったです．
- 来年からデータサイエンスの会社で働きます．社会人院生として研究の方も続けたいと思っています．

# 取り組んできたこと（時系列）
今までどういう風に機械学習を勉強してきたのかを時系列でお話しします．企業名とか出していいか謎なので出さないでおきます．
## 2017/7 無茶振りでAI講師に
当時暇な文系大学生として音楽とバイトくらいしかしていなかった筆者ですが，社長をやっている親戚のおじさんから突然メッセンジャーが届き，「うちでインターンしない？」みたいな流れになりました．会社は中規模な商社だったので，当時適当に文系就職をする気でいた自分は「ビジネススキル？も学べてお金ももらえるならやるか」ということで快諾．
しかし，行ってみると「AIってのがこれから来るらしいから，うちも取り組みたいんだよね．そこでまずは社内教育としてAIセミナーをやってほしい」と言われ，**AI知識ゼロのAIセミナー講師が爆誕．**
無茶ぶりにも程があったのですが，まずは**AIを解説しているビジネス書を片っ端から読んだり，ググりまくったりして付け焼き刃の知識をつけました．**ただ，AIが何故学習できるのかみたいなところがどうしてもフワッとしていてわかりにくかったので，技術書としてあの**「ゼロから作るDeep Learning①」**を読んだところ，パーセプトロンの計算からニューラルネットワークの仕組みが徐々にわかっていき，当日のセミナーも大方成功に到ることができました．

その後はしばらくセミナーの第２回資料を作ったり，[コード自体は書かないで画像認識するハンズオン](https://qiita.com/Kiro02/items/851a6b3f5cad37d77875)なんかを作る仕事をインターンでやっていました．この辺から自分でプログラミングをして機械学習モデルを組むことや，理論を理解することに興味を持ち始め，書籍などで自学自習を始めるのですが，どうにも続かずに何度も挫折していました．しかしそこに転機が訪れます．

## 2018/4 ~~（怪しい）~~AI学生団体のメンバーに
春休みくらいになんとなくFacebookをみていたら（またきっかけはFBなのか），[学生に無料で機械学習プログラミングを教えてAIベンチャーにインターンとして送り込む学生団体](https://hait-lab.com/)の広告があったので「無料だし行くか」（現金なやつだな）ということで参加．
この団体ではPython,sckit-learn,(当時は)Chainerをオンライン教材で教わり，毎週テストでスコアを競い合う，ということをしていました．**成績で上位に入るとインターンの選考イベントに進める**ので，それをモチベに毎回高得点を狙ってコードを写経しまくっていました．
あと，インターン選考会の時は何か手を動かした実績があるといいということでKaggleのコンペに取り組んで（シェアサイクルの需要予測だったかな），その結果と過程をプレゼンしたりしました．
その後無事インターン先も決まり，機械学習プログラミングを使ってアウトプットするようになります．また，学生団体の方には最近までメンター（教える方の学生）として参加したりしていました．ちなみにこの団体**怪しくないですよ！**

## 2018夏〜現在 いろいろ実践しながら勉強＆アウトプット
この辺の時期から「機械学習やってる学生」としていろんなところで活動し始めます．時系列にすると大変なのでジャンル分けして書いておきます．

### インターン・バイト編
（たまに掛け持ちしてるので時期がおかしいのは気にしないでください．）

- データサイエンス系企業(2018/7~9)：初めてインターンした会社．法人向けのAI教材を作成しました．プログラミングはアルゴリズムの中身を自分で確認したいときに少し書いたくらい．
- 世田谷のITベンチャー(2018/10?~)：完全リモートでできるバイト先．自然言語処理で要約アプリみたいなのを作るらしく研究開発みたいのを手伝っていた．論文読んだり少しコードも書く．
- 港区のAIベンチャー(2018/12~)：ネットワーク圧縮技術について論文読んだりバリバリPythonでコーディングしてます．
- インドのベンチャー企業（2019/8)：東大のプログラムでインドで1ヶ月AIプログラマーしてました．心電図の解析みたいなことをしてました．

### 勉強会編
- ゼミの発表：教育学部なんですが，教育学研究科（大学院）のゼミでNLPをやっているのがあったので学部生ながらお邪魔してました．毎回ACLとかの論文を読んで英語か日本語で発表します．
- Connpassとかの勉強会：興味があるものは参加してます．本郷にある某AIインキュベーション施設のメンバーなので，そこで勉強会に参加して発表とかもしてます．
- ACLとCVPRのサマリを作りまくる団体に参加していろいろ論文読んでサマリ作ってました．

### その他
- [こういうの](https://tsst-researchers.standard2017.com/)でアプリ作ったりしました．
- connpassに掲載されたハッカソンとかもたまに参加．

### 就活
- 就活も意外とプログラミングの勉強になりました．特にPaizaで面接に行った企業とかもあったので，自分が実際に書いたものを就活で見せるというのは文系学生としては結構スリリングでした．

いろいろやったのですが，感想としてはとにかくいろんな場所でいろいろ作ったり，論文読んで発表したりすると，**自分のできることとできないことがはっきりして次の学習にすごく役立ちましたね．**また，漠然と「機械学習・AI」というものを学ぶのではなく，**実践の中で興味を持ったり，足りないなと思ったことを深掘りしていく**とコーディングや数式のある論文を読むための体力がついていって結局近道になる気がします．

## 春からは・・・
春からは某データサイエンスの会社で働く予定です．卒論がおわればですが・・・
せっかくここまで来たなら理系の勉強（数学とか統計）も体系的にやりたいので，もしかしたら来年秋から社会人大学院に行くかもしれないです．

# まとめ
雑にまとめると
- まずはがむしゃらに調べる
- 自学自習が無理なら自分に合う環境（自分の場合は競争を強いられるコミュニティ）で学ぶ
- アウトプットして実践しながら学ぶ
- 論文を読もう

という感じです．特にインターンはお金もらいながら勉強できるので最高です．

ここまで読んでいただきありがとうございました！