見出し画像

【身につけ方】AIスキルの基礎知識

先日AIエンジニアになるためのキャリアパスについて記事を書いた。

今回は一歩進めて、実際にAIエンジニアを目指す際に、どのような知識やスキルがAIエンジニアに必要とされているのかについてまとめる。

大きく分けると「AIスキル」と「アプリケーション開発スキル」の2つのスキルが必要となる。

AIスキル

まず大前提として知っておかなければいけないことは、AIスキルと一言にいっても、その範囲はとても広いということだ。

AIスキルは、機械学習かディープラーニングか、あるいは扱うデータが画像なのか音声なのかによっても、必要とされる知識とスキルが違ってくる。

実際にAIエンジニアとして働いている人も、仕事内容に合わせて課題の解決方法を変化させている。

さらにAIの分野は発展が著しい分野でもあるので、新しい手段が日々生み出されており、はじめから全てを学ことは不可能に近い。

であれば、どこから手をつけるべきかいう疑問が残るが、それは全てに共通している基礎となる知識で、まずは以下の3つの知識をつけることが効果的だ。

①確率と統計

とても単純に言ってしまうと、AIとは「確率と統計をより複雑にしたもの」だ。

そのためAIスキルの根幹には数学的な理論が存在するので、確率と統計を理解していることが、AIの深い理解へとつながる。

最低限身につけるべき知識として、母集団、正規分布などのデータの総数やバラつきに関する知識が必要だ。

もしこれらの知識がなければ、必要なデータ、例えばどのくらいのデータをAIに学習させる必要があるのかということが把握できない。

②データの整理、可視化、評価

AIモデルの構築には莫大なデータを使用することになるが、人にとって理解しやすい状態、つまり整理、可視化、評価の知識が必要となる。

これらの知識は、AIシステムの開発後に正しい結果が得られているかどうかを確認するためにも必須だ。

具体的には「ROC曲線」や「AUC」が理解できるといい。

「ROC曲線」は英語では「Receiver Operatorating Characteristic Curve」で、日本語では「受信者操作特性」という。

「AUC」 は英語では「Area Under the Curve」で、ROC 曲線の下部分の面積のことを指す。

定義だけではイメージが掴みにくいのでこちらでは説明は省く。

③Pythonの知識

最後に必要なのはプログラミング言語の一種であるPythonの知識だ。

初心者が学習しやすいプログラミング言語としても人気のPythonだが、AIモデルの構築にも広く使用されている。

多くのAIモデルのサンプルもPythonで書かれていることもあり、AIエンジニアには必須のプログラミング言語といえる。

Pythonでは以下のようなさまざまなライブラリが使用される。

・NumPyやScikit-learn:数値計算・機械学習
・Pandas:データを扱う
・TensorFlow:ディープラーニング

学習の第一歩としては、ライブラリのサイト内で提供されている「チュートリアル」を使用するといい。

上記のScikit-learnやTensorFlowに加え、Meta社(元Facebook社)の人工知能研究グループ発祥のライブラリであるPyTorchでもサンプルを体験することができる。

またAIモデルはデータを大量に使う特性上、クラウドで作成することも多く、以下のクラウドサービスでは、AIモデルをGUIを使って手軽に使用できるサービスを提供している。(従量課金)

・Google Cloud AutoML
・Amazon SageMaker
・Microsoft Azure Machine Leaning
・Neural NEtwork Console(Sony)

クラウドサービスへの接続を通じて、Webシステムの開発スキルも身につけることができる。

アプリケーション開発スキル

AIエンジニアは、自社や顧客が抱える課題を、AIを活用して解決するシステムを開発するのが仕事だ。

その開発手法は一般のアプリケーションと大きく変わらないので、アプリケーション開発スキルも必要となる。

例えば、AIモデルが分析した結果を顧客に確認してもらう際にもパソコン上で動くアプリケーションやWebアプリケーションを用意する必要がある。

学習方法だが、自分が欲しいと思ったアプリケーションを調べながら実際に作ってみるのが一番だ。

全くの未経験から学習を始めるのであれば、オンラインでプログラミングを学べる「Progate」や「ドットインストール」も一つの手段だ。

匿名のコメ・質問はmondまで👍 https://mond.how/ja/hovinci_jp