渡るネットは嘘ばかり

元文系、米国大学院CS修士号持ちITエンジニア。自称エンジニアが撒き散らすゴミを少しでもキレイにしたい

AI・機械学習を学びたいなら勉強会に行ってみよう

プログラミング教室第2期が動き出しました。結局6名教えることになって、一人一人話しを聞きながら、各個人の方向性や授業のスピード感を決めようと思っています。今回、応募者の中に、プログラミング教室の某T社で学んだ物の、応用が効かなかったり、全く使い物にならなかったという人も混ざっています。正直、僕がプログラミング教室が情報商材業界のような状態になっていることに気づいたのはT社がきっかけです。Life Hackerでインタビュー記事を見た。それを読んで、Life Hackerってガチでヤバイな、と思った。まともな業務経験がある人間だと?マークしか飛ばないような受け答えが続いて、T社の社長を褒めてた。結局、良く見たらそれはインタビューを模したT社の広告記事だったことに気づいて、この会社はステマで営業してる、とわかった。検索したら褒める記事ばかり。で、よく見ると、目的は紹介金だとわかった。T社で何も身に付かなかった。でも、紹介すれば無駄になった10数万が取り返せるかも知れない。嫌な思いしたのにミイラ取りがミイラになったわけです。嫌な思いをしたのに、嫌な思いをさせる側に回ったわけです(ヒカル風に言ってみた)。

最近、満員電車が駅について乗り込もうとして良く気づく。入口付近はぎゅうぎゅうなのに奥はガラガラで皆スマホをいじりながらスマホを突き出すスペースを取ってる。地方ではそこまでじゃないと思うけど、もし都心に住んでる読者の方で、ついつい電車でスマホをいじってしまう人は1日だけスマホを我慢して顔を上げて周りを見回して欲しい。自分の今までの行為がどれだけ恥ずかしくて周りが見えてなかったか、気づいて欲しい。そう思えた人はまだこっち側にいる。そう思えなかった人は中毒症状が出てるから病院に行くべきです。5年前、僕がアメリカに発つ前にはまったくなかった風景です。

スマホは便利です。ただし、それは「答えを見つける」ツールです。依存すると考える力がどんどん落ちていきます。デジタル認知症と言って、実際、認知症のように脳が縮むという研究もあったりします。技術は便利です。ただし、それは使いこなせてこそです。依存すると毒になってしまう。ここの読者やプログラミング教室の卒業生が技術の奴隷になるのでなく、技術と仲良くなって、一緒に楽しく働けるようになれる手助けをしたいと思っています。

で、T社のこともそうです。技術はすごい。でも毒になる。そのいい例です。良いのか悪いのか微妙だけど。T社の名前で検索すると、賞賛記事ばかり。でも、裏を見ると、あれは一種のアフィリエイトです。褒めないと紹介できないから嘘を書いてる。これが、ネット総発信者の弊害です。技術を使いこなすこと、情報を見極めること、それを意識してデジタル時代を生きて欲しいです。2期生の人に確認したら、やっぱりT社は独学をサポートするレベルで学生が教えてて微妙、という話でした。アメリカの大学でもTAがサポートはしますが授業はあくまで教授で、TAもほとんどがその先生の元でその分野の研究をしてる人です。個人的にはプログラミングを教えるなら業務経験が10年以上かせめてコンピューターサイエンス(CS)の学部卒レベルです。ちなみに、就労ビザとかの基準では業務経験3年が大学の1年に相当するので、結構甘めに言ってです。ただ、10年働いて分割統治法も知らないし、再帰とか使ったことない人もいるので、正直日本の業務経験は会社と内容によります。T社の関係者でW大の商学部でT社で教えてる方がアフリカでプログラミング教室を国と組んでやったらしいのですが、行動力は本当にすごいと思うものの、そんな経験で教えるとか、日本の恥になるので勘弁してくれ、と思いました。ITスペシャリストを名乗ってますが、どこまでわかるんだろ。うちの大学では大学院卒業に少なくとも3個の専門分野で指定の単位数取ってないと卒業できませんでした。なので、そこの院卒は最低3分野は専門的な知識がないと卒業できないんですが、スペシャリストを名乗る彼に質問したら、基礎的なことも答えられない気がします。CSをなめないで欲しい。自分の会社ではCS卒とか教えるのに十分だと思えるプログラマやデザイナーと、週の半分はIT教育に、残りの半分を研究に費やして、最新技術を使ったサービスを展開する会社を作りたいです。ちょっとビジネス寄りの学術機関に近い形態の組織というか。教える人間は常に最新技術を追うべきだし、それを形としてサービスにできる方がいい。そして、教わる側も最先端で開発をしてる人間に大学以外で教われる、そんな会社にしたいです。

あと、T社で1日10時間週6がイナズマコースとか言ってますけど、実務だと週に1度くらいは10時間越えるの普通ですよ。もし、25歳以下ならT社のプログラミング教室行くより、未経験可のシステム会社に行くことをお薦めします。僕は25歳未経験でシステム会社に中途で入社しましたが、1日8時間、給料をもらいながら2ヶ月半研修を受けました。まぁ、Javaで基本的な処理とServletを使った簡単なショッピングサイトをmySQLを使って作れる程度の知識にしかなりませんでしたが、給料もらいながら、です。あと、その後、現場に出て思ったのは一人でサービスを作る経験は現場でそんなに役に立たない、ということです。大抵、既に何千、何万ファイルのコードがあるところで開発をするので、コードを読んで理解する(リバースエンジニアリングと言います)のはすごい大事。簡単なシステムなら一人で作る方が簡単です。なので、一人で1から全部作った経験は実は、業務ではほとんど役に立ちません。

AIや機械学習を学ぶということ

と、話逸れまくっての本題になります。今回も応募者の中の数人がAIエンジニアになりたいと希望しています。一応機械学習は土台部分はしっかり勉強してきたので、何回か書いていますが、AIや機械学習を目指すなら学術機関に入るべきだ、と思っています。僕のいたアメリカの大学では学部4年で大学院生と一緒に機械学習の入門編が受講できます。それ以降は大学院で学ぶ内容になります。それはどういうことかというと、学部レベルのCSの知識、プログラミング能力、数学の知識は持っている状態で学ぶべき分野だということです。色んなプログラミング教室でAIを始めていますが、大抵が手を動かして(プログラミングを書いて)学ぶ、と言っていますが、そういう教室は絶対通ってはダメです。散財するハメになります。運営が全く学問的に理解できてない。CSの分野は大きく分けて2種類に分かれます。プログラミングがベースになっていてコード量が多いもの(CGとかアルゴリズムは結構書きます)と、理論が中心になっていて理解に時間がかかってコード自体は簡潔なもの(セキュリティとか情報理論)。

AIは後者であり、理論がしっかり理解できればコード量はそこまで多くありません。当然ですが、効率的なデータ構造の使い方がわかった上で、ですが。AIや機械学習ビッグデータの時代になって復活した古くから研究されている分野なので、ビッグデータによる学習がベースになります。データ構造とか効率的なアルゴリズムが書けないと、簡単に学習に1週間、1ヶ月かかるプログラミングが完成します。数学とか統計わからなくてもできる、とか謳ってる教室はそもそも講師が全く理論を理解していないので回避すべきです。そもそも理論がわかってないと、その解析や分析にどのモデルが適切かすらわからないと思います。AIとか機械学習ができればAIに仕事が取って代わられる時代でも食いっぱぐれないと思う人も多いかも知れませんが、AIが最初に置き換えるのはAIエンジニアが熟知してる、APIやライブラリを叩くだけのプログラミングでしょうね。情報を入力すればコードを吐いてくれる。ちなみに僕もcocos2dのコードは画面構成を対話式で入力すればテンプレートを出力するジェネレーターを作ったりしてます。半日でできるレベルです。

なので、僕のプログラミング教室で3ヶ月コースだと最後1ヶ月を使って、1,2個の機械学習のベースとなっている技術の実装に挑戦させたいと思っています。そこで、面白い、もっとやりたいと思うなら大学院目指して下さい。推薦状なら日本語でも英語でも書きます。最低限のセンスを見せて貰えれば、ですが…。

勉強会

機械学習に関してですが、まず東大が主催してる勉強会があります。機械学習のベースになっている事後確率を使ったベイズ理論を学べたりするもので、先日、AIの世界的権威の大阪大学の石黒教授の講演を聞いてきました。

実践的機械学習勉強会 | Doorkeeper

とか

人工知能研究会 / AIR | Doorkeeper

に参加して、入門カテゴリから学んでみるのがいいと思います。ただ、Pythonわかるレベルが参加条件になっていたりするので、その条件を満たすレベルの知識(多分余裕で超えますが)を学びたくて、僕のプログラミング教室にご参加頂くのは大歓迎です。基礎はPythonで、データ構造やアルゴリズムはCを交えて、オブジェクト指向に関してはC++とかJavaを使うつもりなので、土台はしっかり組めるはずです。その方向を志望なら、最後の課題は一緒にそちら方面から決めたいと思います。

ITの勉強会

実は結構IT系の勉強会っていっぱいあって、僕はガラケーのゲーム会社にいる時に日本Androidの会にお世話になっていて、色んな方と仲良くさせて頂きました。それこそ、Androidの本といえばこの人的な人が普通に無料の勉強会で講演をして、打ち上げでお話できて、名刺を交換したりFBで繋がったりするのが結構普通でした。今は活動が不定期になっていますが、毎月定例会があって、その度に飲んでAndroidの未来を語って、非常に良い会でした。イベントの実行委員に参加して、それもresumeに書いてアメリカも大学院に日本の文系学部卒で入学許可をもらえました。

というわけで、AIとかプログラミング業界に興味があったら、まずは無料の勉強会に参加してみることをお薦めします。当然プログラミング教室と繋がってないやつね。つながってると洗脳とかくるのでご注意を!