2022.10.13

AIの知識習得方法

技術

SCROLL DOWN SCROLL DOWN SCROLL DOWN

こんにちは!AIサービス開発室の鈴木生雄です。すっかり秋めいてきました。にぎやかな感じがする夏も好きですが、落ち着いた感じがする秋も好きです。秋は読書をしたり、思索にふけったりするのにぴったりの季節です。先日とあるきっかけで、コンピュータビジョン(CV)を専門とする科学者の金出武雄先生の著書、独創はひらめかないを読み返しました。実はこの本、10年程前に金出先生の講演会を聴講して、感銘を受けて購入したものです。10年後の今、AIを使ったビジネスをやろうとする中で、本書を読み返すことになるとは思っていませんでした。こういう事があるたびに人生はつくづく面白いなと思います。金出先生は「素人発想、玄人実行」(考えるときは素人として素直に、実行するときは玄人として緻密にやるのがよいという意味)を座右の銘に掲げておられるのですが、これが今の私にとって、必要としていた言葉のように思えてなりませんでした。

さて、今回はAIの知識習得方法について、投稿してみたいと思います。現在、当社のAIサービス開発室長を務めている私ですが、実は2年前まではAIについてほとんど何も知らない状態でした。正直なところ今でもまだまだ知識が不足していると自覚していますが、社外の勉強会や論文の内容をそこそこ理解できるレベルにはなれたと思っています。そんな私がどのようにAIの知識習得をして(きた|いるか)をこれ以降で記します。

G検定・E資格を取る

私にとってのAIのはじまりは日本ディープラーニング協会(JDLA)のG検定とE資格という資格試験の勉強を始めるところからでした。元々、当社の社員が催してくれた社内のAI勉強会に参加したのをきっかけにして、有志で一緒にG検定を取得しました。G検定の上位資格であるE資格の方は、G検定合格の勢いそのままに、今度は私の方から社員2名に声をかけて、一緒に取得したという感じでした。

これらの資格を取得したからといって、すぐにAIのモデルが作れるようになったり、AIをお客様の業務に適用できるようになったりするわけではありません。しかし、そのために必要なベースの知識を得られるという点でとても意味がある資格だと思います。現在は、AIを用いた自社アプリの制作をしていますが、G検定・E資格で学んだ知識を基礎にして調査をしながら開発を進めることができています。

ちなみに蛇足ですが、オープンバッジという個人のナレッジやスキルを証明する世界標準規格のデジタル証明/認証があるのをご存じでしょうか。G検定とE資格に合格するとオープンバッジを発行してもらえます。こんなふうにブログで見せられるのがオープンバッジの良いところだと思います。

私(鈴木生雄)のオープンバッジウォレット

コードを書く

さて、G検定・E資格の勉強と並行してやっていたのが、AIのコードを書くということです。今の私のAIサービス開発室での役割は、自社アプリのディレクションなので、コードを書くことはありません。しかし役割が開発者でなくても、作業工程を体験しておく必要はあると思った(というか正直やってみたかった)ので、物体検出を題材にして、データ収集・前処理・モデル学習・推論精度の確認・ハイパーパラメタチューニングという一連の流れを実行するための実験のコードを書きました。言語はPython、機械学習ライブラリはTensorFlowを使いました。書いてみて、TensorFlowは見よう見まねで使うのは簡単だが、設計思想を理解して使いこなすのは難しいと感じました。AIの理論とTensorFlowのようなライブラリの特性の両方を理解して初めて、AIプログラミングができると言える域だということが分かるようになりました。

勉強会に参加する

もう一つ、私がやっているのは勉強会に参加するということです。何かしらの技術を学ぶ場合に、勉強会に参加するのはとても有効だと思います。しかし、どんな勉強会がいつ・どのように開催されているかを調べるのはけっこう骨が折れることだと思います。私の場合、AIに関する情報収集では、CDLEというディープラーニングのコミュニティにお世話になっています。CDLEはG検定・E資格の合格者のみが参加できるコミュニティです。そのため、知識レベルや関心事が同じような人が多く、求めている情報が得られる可能性が高いと感じています。最近では9/22に「CVPR2022技術報告会」というコンピュータービジョンの最高峰の国際会議についての報告会に参加させてもらいました。(ちなみに、初回のCVPRは1983年に冒頭に紹介した金出先生が組成して開催したのだそうです。このことを知ったのが、金出先生の本を読み返すきっかけになりました。)報告会の中では、Self-supervised learning(自己教師あり学習)がトレンドであることが示され、関連するキーワードや論文について知ることができました。モデル学習においてはアノテーションの作業コストがボトルネックになると思っていたので、今回知ったキーワードや論文をフックにして、知識を深堀していきたいと思っています。このように、勉強会の良いところは他者とアンテナを共有することによって、自分のパースペクティブを広げられるところだと思います。

今回はAIの知識習得方法についてのエントリーをお届けしました。ここまで書いた後に振り返ってみると、奇抜さのない王道な内容に終始しているというふうに思います。しかし、結局、王道こそが最良かつ唯一の道なのではないでしょうか。理論も実装もやってみる。コミュニティに参加して最新情報をキャッチする。こうしたことに、自分の時間を継続的に投資するしかないのだと思います。

実際、私も前述のことをやるのにそれなりの時間をかけてきました。途中「うげー」と声を出したくなるようなこともままありました。例えば、物体検出のコードを書いた際には、物体のアノテーション(AIに学習させたい画像データのどの位置に何の物体があるかタグ付けする作業)を1600箇所におこなったこともありましたし、1回4時間かかるモデル学習を20回以上繰り返したこともありました。今思うともっと効率的な方法があったような気もしますが、そういう大変さも含めて、結局やってみないとわからないというのが真理だと思います。

いろいろ述べましたが、つまるところ言いたいのは「四の五の言わずに、やり始めるのが吉」ということです。このエントリーによって、AIに興味はあるけど何をやればよいかわからないと悩んでいる人の背中を押すことができたらうれしいです。

Let’s dive into AI !