この記事は『CRESCO Advent Calendar 2021』 7日目の記事です。

 

はじめまして。SEC3年目の髙橋(良)です。
突然ですが、
「AIやってみたいけど、どこから取っ掛かればいいかわからない!」
「AI興味はあるけど難しそう」
こういう風に思っている方、多いのではないでしょうか?

私も「AI興味あるけどなんとなくしかわからないからとりあえずG検定の勉強してみよう!」と思い、去年勉強しましたが正直よくわかりませんでした・・・
ですが、今期に入ってから改めて勉強し、自分なりに理解しG検定を取得しました。

今回は私のような「AIよくわからない・・・」という状態から、Udemyを活用して効率よくAI初心者を卒業する方法を実体験ベースで紹介します。
弊社では申請すればUdemyを無料で利用できる(ありがたい・・・!)ので、学習にはUdemyの講座を利用します。
AI理解してるよ!という方は、最後のBERTを実装してみた話だけでも読んでいただければと思います。

AIを勉強する上で大事なのは実装して学ぶこと

去年はテキストで勉強しましたが、正直全然動きがイメージできず頭に入ってきませんでした。
ですが、Udemyで動画を見て処理の段階を理解しながら実装することによってイメージもつかめ、「案外AIもやろうと思えば個人でもやれちゃうものなんだな」と学ぶことが楽しくなりました。
それと同時にデータ集めや前処理の方が大変だったり、データ量も多いのでDBやSQLなどの知識もAI技術者になるには必要なんだなと学びました。

前置きはさておき、機械学習の実装はPythonで行います。
「やっぱり言語はしっかり理解しておきたい!」という方や「Pythonで他に何ができるかも知っておきたい!」という方は以下の講座を利用しましょう。
大体のことが解説されているので、わからないことが出てきたときの復習にも使えます。
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

「細かいことはいいからAI勉強したい!」となったとして、最初の取っ掛かりとしては、単層パーセプトロンを実装してみるのが一番仕組みを理解できるのではないかなと思います。
重み、バイアス、活性化関数などの役割がわかってきます。
ちなみにここで完全に理解する必要はないです。「そんなものなんだぁ」くらいで先に進まないと、ここで手が止まる可能性があります。。。
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 【2021年最新版】

一通り学んでからのオススメ

機械学習をある程度学んで、ニューラルネットワークで色々実装してみよう!となって迷うのがライブラリの選択です。
機械学習の実装で主に使われるライブラリはTensorFlow,PyTorch,Kerasの3つです。
より簡単に実装したい!という方はKeras、難易度は上がるが理解しやすさを求めるならPyTorchかなと思います。
画像認識(CNN)や自然言語処理(RNN)もやろうと思えばできてしまうことを学んでみましょう。
・Keras
【Kaggleで学ぼう】Python と Keras で学ぶディープラーニング開発入門
・PyTorch
【PyTorch+Colab】PyTorchで実装するディープラーニング -CNN、RNN、人工知能Webアプリの構築-

ここまでの工程を終えれば、AIでできることや実際に実装するイメージが出来上がると思います。
ここからさらにもう一歩踏み込むなら、Kaggleという機械学習のコンペで色々分析してみることをオススメします。
Kaggleについては先ほどのKerasの講座でも用いていますし、それ以外でも講座が多くあります。
kaggle.com/

学んで来たけどいまいち基本的な部分がピンときてない・・・という方には以下の講座がオススメです。機械学習で出てくる用語がわかりやすく説明されています。
【E資格の前に】PyTorchで学ぶディープラーニング実装

さらに深みへ・・・

もっと機械学習について色々触れたい人にはGANやAutoML、BERTがオススメです。

GANは新しい画像の生成に使われ、存在しない人の画像を作るStyleGANや馬の模様をシマウマに変換するCycleGANなどが有名です。
個人的にはpix2pixという画像を他の画像に置き換える技術がお気に入りです。
GANは以下の講座で学べます。なかなか難しいですが、最近では画像認識以外にも応用されており注目度の高い技術ですし、仕組みの理解にはかなり繋がるので興味がある方はぜひ学んでみてください!
AIによる画像生成を学ぼう!【VAE / GAN】 -Google ColabとPyTorchで基礎から学ぶ生成モデル-

次に、AutoMLですが、これは機械学習を自動化し簡単に呼び出せる手法です。
「このデータの分析はどの統計手法でやるのが適切なのだろう??」という時にAutoMLを使うと、1行のコーディングで十数パターンの統計手法が行われ、その結果が表示されます。
一番有意性が高いものが簡単にわかるため、機械学習や統計を行っていてぶつかる、適切な統計手法を選ぶという問題が解決します。
データさえあれば誰でも簡単にデータサイエンスをできてしまいますね。
【AutoML】自動化された機械学習を学ぼう! 【PyCaret / Google Colab / Kaggle】

BERTを実際に試してみた

BERTは2018年にGoogleが発表した自然言語処理モデルで、文脈から言葉を予測することが可能なのが特徴です。
実際にどのくらいの精度か検証するのに何かいいサンプルはないかと考えたところ、弊社にはクレスコ憲章というすばらしい企業理念があるではないですか。
<クレスコ憲章>
一、クレスコ は人間中心、実力本位の会社である
一、クレスコ は自由、若さ、夢を持つ会社である
一、クレスコ は最高の技術を発揮する会社である
一、クレスコ は皆が経営する会社である
一、クレスコ は世界で生きる会社である

このクレスコ憲章をBERTで以下の[]部分を予測させて、一番予測値の高いものでAI版クレスコ憲章を作成します。
今回は東北大学の乾研究室が作成した「bert-base-japanese-whole-word-masking」という日本語モデルを利用します。

一、クレスコ は[]中心、実力本位の会社である
一、クレスコ は[]、若さ、夢を持つ会社である
一、クレスコ は[]の技術を発揮する会社である
一、クレスコ は[]が経営する会社である
一、クレスコ は[]で生きる会社である

AIが予測したクレスコ憲章は・・・

一、クレスコ は[実力]中心、実力本位の会社である (×)
一、クレスコ は[力]、若さ、夢を持つ会社である (×)
一、クレスコ は[最高]の技術を発揮する会社である (○)
一、クレスコ は[彼]が経営する会社である (×)
一、クレスコ は[世界]で生きる会社である (○)

2/5当ててるのはなかなかすごいのではないでしょうか。
以下が上位5項目でした。

[‘実力’, ‘技術’, ‘経営’, ‘スポーツ’, ‘若手’]
[‘力’, ‘品質’, ‘誇り’, ‘美’, ‘勇気’]
[‘最高’, ‘多く’, ‘最新’, ‘次’, ‘最先端’]
[‘彼’, ‘家族’, ‘個人’, ‘自身’, ‘、’]
[‘世界’, ‘社会’, ‘宇宙’, ‘そこ’, ‘未来’]

確かに文脈には合ってそうですね。
キャッチフレーズに悩んだ時に使ってみるのもいいかもしれません。

さて、AI初心者がそれなりにAIを理解するまでの取っ掛かりから工程、そして理解したその先でのオススメをここまで書いてきました。
AIを実際に学んでみて、実装などはどんどんハードルは下がっていてやれることは広がっている分、実際にAIで何をするかというアイデアが求められてきているというのが個人的な実感でした。
今回の記事がAIを学ぶ手助けになれば幸いです。
機械学習を学んでみて改めて統計の重要性を感じたので、今後は統計もより勉強していきたいと思います。