エンジニア

未経験から機械学習エンジニアになるには?【AI開発】

how-to-become-ai-engineer
対象者

本記事は「機械学習エンジニアになりたい人、未経験の人」を対象にしています。

キヨシ
キヨシ
フォッフォッフォッ、キヨシ(@kiyothink12)じゃ^^今日は未経験から機会学習エンジニアになった方達に話を聞いてみたぞい^^
ケイタ
ケイタ
今世間的にAIがもてはやされているので気になっている人も多いのではないでしょうか?
キヨシ
キヨシ
うむ、そうじゃの。機械学習エンジニアはサーバーサイド、フロントエンドとはまた違ったエンジニアなのでぜひ参考にしてほしいのう。
ケイタ
ケイタ
とても楽しみです!

日本は機械学習の研究自体がとても遅れている。将来は海外でスキルを伸ばしたい。

女性です。20代後半です。ベンチャー企業で働いています。

学生時代は名古屋大学の工学部で電子工学の研究をしていましたが、研究の一環でAIを勉強する機会があり、そこで機械学習エンジニアという職業があることを知りました。

とはいえ、その時点ではさほど機械学習に関して興味があったわけではないです。

機械学習エンジニアを志すようになったきっかけは、機械学習について調べていく過程でその将来性と可能性に魅力を感じたことが理由になります。

少なくとも今後10年や20年で廃れる職業でないことは確信できたので、卒業後は機械学習エンジニアを目指すようになりました。

勉強はすべて独学です

まずは機械学習エンジニアで必須のPythonに関連する書籍を読み漁り、コードを写経していきました。

それと並行して線形代数や統計学の勉強をしていった形です。

大学の研究とは分野がずれていたので、機械学習を勉強しながら研究をするのは大変でしたが、新しい領域に踏み込んでいくことに楽しさを感じていたので不思議と苦にはなりませんでした。

就職活動は企業規模を問わずに機械学習エンジニアとして雇ってくれるところのみをエントリーしました。

勉強し始めて一年も経っていなかったことと、大したポートフォリオがなかったことから面接官から難色を示されることもありましたが、6社目でなんとか内定を頂くことができました。

採用を頂いた企業では、選考試験でホワイトボードにプログラミングコードを書く試験と、口頭での機械学習に関する理解が出題されました。

どちらも物怖じせずに答えられたのが内定につながったのだと思います。

卒業後は晴れてその企業で働くことになりましたが、業務では難しいことだらけでした。

というのも、仕事内容が機械学習のシステムを導入したい企業に対する技術営業も交じっていたからです。

私は機械学習エンジニアとしてシステムの開発に従事できると思っていたので、業務の一環で営業の仕事があるのは想定外でした。

しかも、営業ではクライアントに対して機械学習を導入するメリットをわかりやすく伝えなくてはならなかったので、ある種の営業トークが必要になります。

それに言葉は悪いかもしれませんが、クライアントは機械学習の本質をさほど理解せずに自社の話題性やブランド価値向上のためだけにシステムを導入したがっているところも少なくありませんでした。

なので、いざクライアントと話し合っても成約につながること自体は多くはありませんでした。

とはいえ、私が所属していた会社は今後の事業を拡大するためにも新規の案件を欲しがっていたので、当時は会社とクライアントの板挟みになってしまって辛かったです。

しかし、何度も場数を踏むことで機械学習の有用性や導入するメリットやデメリットをうまく伝えられるようになり、会社とクライアントの双方から信頼を得られるようになりました。

エンジニアとしてのスキルも営業を通じて得た知見を活かすことができるようになり、結果として後のシステムの実装にも活かされました。

しかし、日本では機械学習の研究自体がとても遅れている現状があります。

今後はスキルを伸ばす意味でも海外で仕事がしたいと思っています。

そのため、今は仕事の合間を見つけて英会話を勉強している最中です。

将来的には海外で機械学習エンジニアとしてのスキルを高め、そこで得たことを日本の企業に還元できるようになりたいと考えています。

機械学習は今後伸びると思うが世間が騒いでいるほど万能ではない

男性です。40代です。自営で働いています。

旧帝国大学理系の修士卒で、最初はエンジニアではなく金融マンとして就職しました。

その後、趣味でPerlなどを使ってCGIなどを書くことはありましたが、職業としてのプログラミングはVBAを使う程度でした。

2010年ころに手元の作業を自動化するツールを作ろうとしてPythonに触れる機会があり、VBAとPythonを使って小さなツールを書く中で、Stackoverflowなどを読むようになりました。

そこで欧米ではPythonを使った科学計算などが盛んだということを知り、思っていたよりも色々なことが簡単にできるという驚きから、オライリーの本を読んだり、OpenCV-Python等のライブラリで遊ぶようになりました。

その後、大学に残って研究を続けている友人にその話をしたところ、友人がぶつかっている研究上の課題を自分の書く簡単なプログラムで解決できることがわかり、休日を使って協力するようになりました。

そこからはニーズに応じてTensorflow、Scikit-learn、Pandasなどを都度使い分けるようになりました。

勉強は基本的に書籍中心ですが、とにかく手を動かすことで何がどうなるかを知り、それを応用していく感じでした。

また、研究に関わった方の紹介でいろいろな方の相談に乗るようになり、当時の本業よりも面白い仕事ができそうという干渉を得たことから、独立して機敏にいろいろなことをできる体制に移行しました。

元々思い描いていた道ではなかったですが、結果オーライという感じでしょうか。

機械学習系の業務では、まず課題を明らかにし、それにどういうアプローチをするか構想し、アプローチに合わせてデータを作り、構築した機械学習モデルに実際に流し込んで応答を見るという流れでやっています。

これをできるだけ素早く回し、回すたびに得られる知見を掬い取って、また修正して回すという手順となります。

この「回す」ということが大事で、どれだけ頭の中で構想をしても、実際に回すまではどうなるかわかりません。

特にディープラーニングなどでは計算経過があまり明らかにはならない状態で解を求めるので、頭より手という側面が強いと感じています。

機械学習は今後発展をみるでしょうが、マスコミが喧伝するほど万能かというと疑問です。なんだかどこかにあるデータをとにかくたくさん掘り出してAIに突っ込めば、占いのように何かがわかってくるというような印象で語られることも多いですが、全然そんなものではありません。

どちらかというと、R&D(Research & Development ※研究開発のこと)ではごく一般的にやっているプロセスに近いので、現状R&Dをしていない中小企業(日本のほとんどはこちらかと思います)にとっては、やはりバズワードに終わるのではないでしょうか。

<まとめ>未経験から機械学習エンジニアになるには?【AI開発のスキル】

キヨシ
キヨシ
なるほどな。ワシもとても参考になったよ。今日の方達は独学でなられたようじゃが最近ではAidemyさんなどが機械学習のオンライン学習サービスをやっているのう^^
ケイタ
ケイタ
プログラミングの知識とある程度の数学の知識が必要そうですね!
キヨシ
キヨシ
うむ、ワシの数学の知識は高校1年生くらいのレベルで止まっているからちと勉強しないと厳しいのう(苦笑)オライリー本読んでもわからなかったからな・・><
ケイタ
ケイタ
確かに家電などAIによってすでに生活が便利になっていることも多いので今後期待はしちゃいますね!
キヨシ
キヨシ
うむ、劇的なスピードでこの業界は進歩しているから常に勉強と動向のチェックは欠かせないな^^
ABOUT ME
キヨシ
キヨシ
キヨシじゃよ^^ 30歳を超えてからエンジニアに転身。現在はリモートワークしながら海外と日本を行き来して自由気ままに暮らしておるよ( ^ω^ ) フォッフォッフォッ