AI 実装検定への道
AI 実装検定とは・・・
https://kentei.ai/
上記サイトで詳細は確認してほしいが、「ディープラーニングに関する実装能力と知識の判別を目的に行うもので、AI に興味がある方であればどなたでも挑戦することができる」というものです。
「B級」「A級」「S級」の3つの認定レベルがあり、AI難関資格のG検定やE検定(日本ディープラーニング協会主催)の実装レベルを意識した設定となっていること。またAI実装検定の合格者には「ディープラーニング実装師」の称号が付与されることなどが書かれています。
元防衛省 海上自衛隊 数学教官 佐々木淳さんのブログにおいても、第2回検定で合格されたことが書かれていました。
これ、私の年齢と経験からすると、当然「A級」に挑戦せねばならないわけで、大学教育出版社発行の「AI 実装検定 公式テキストーA級ー」を購入して勉強を開始したので、その経過を書いていきます。(あ、この著者が、前述の佐々木淳さんですね!)
まずは、A級合格に必要な要件から理解しておきたい。
公式サイトには、「ディープラーニングの実装について数学、プログラミングの基本的な知識を有し、ディープラーニングの理論的な書籍読みはじめることができ、独学の準備が出来る力を認定します。」と書かれています。
レベル:AI難関資格のE資格(日本ディープラーニング協会主催)の認定プログラムにも挑戦できるレベルです。理系大学生・社会人程度。
認定証:ディープラーニング実装師 A級
合格基準:70%以上
配点:数学;20題 / プログラミング;20題 / AI;20題
試験時間:60分
受験料:一般:14,850円(税込) / 学割:8,250円(税込)
受験環境:テストセンターにてコンピュータで回答するCBT(Computer Based Testing)形式
回答方法:選択問題(四肢択一)
ま、70%が合格ならなんとかなるかと割と安易な気持ちで「AI 実装検定 公式テキストーA級ー」を近くの本屋さんに取り寄せをお願いしました。ただ、受験料が14,850円(税込)を高いので、そう簡単に失敗するわけにもいかないというのも大前提ですが。
公式テキストを購入してびっくり!
章立ては、シンプルに下記3章。配点の中に、数学、プログラミング、AIと書かれているので、そのまんまです。
第1章 AI
第2章 数学
第3章 プログラミング
第1章 AIにおいては、割と読み物的な内容で読み進めていけば良い様に思えます。第2章 数学が若干不安。微分、ベクトル、行列と、私が高校時代にあまり得意としていなかった分野な気がします。最後の第3章・・・ここでごっそりPythonの初歩を勉強させられます・・・これまでに、BlockChainの初歩を勉強するのに多少触っていたので、全く尻込みするものではありませんが、なかなか厄介そうです。
まずは、この第3章 プログラミングから、Macで手を動かしながら勉強し、その他の部分は読み物的に勉強していくことにしようと開始をしました。
最初にプログラミング環境から教わることに・・・
私のMac環境には、すでにVisual Studio CodeをインストールしPythonの開発環境は整えています。しかしながら、公式テキストには『Google Colaboratory』の利用が勧められていたので、初めて知るものでしたので、こちらで勉強を進めることとしました。
Google Colaboratoryとは
『Google Colaboratory』とは、Googleが機械学習の教育及び研究用に提供しているインストール不要かつ、すぐにPythonや機械学習・深層学習の環境を整えることが出来る無料のサービスで、Googleドライブの中の一つのツールとして利用可能です。(詳しくは、下記サイトで解説されているので、ご一読ください)
【初学者必読】Google Colaboratory とは?使い方・便利な設定などをわかりやすく解説!
公式テキストに沿って、準備を進めていきます。
Googleドライブには通常この様なメニューしか表示されていません。
次が、Google Colaboratoryを追加した後のメニューです。その他にカーソルを移動すると、Google Colaboratory 以外にもメニューが表示される様になりました。
色々あることは知ってはいましたが、Google Colaboratory以外にも様々なツールが用意されていることも実感することができました。
さて、こんな感じに、お勉強は進みます。
上のキャプチャー画像で言うと、ファイルメニューの下の「+コード」をクリックするとコードを入力する欄(コードセル)が出来て、「+テキスト」をクリックすると説明文を加えたいときなどにテキストを残しておける(テキストセル)が利用できる。
こんな感じで利用できるので、基本的に簡単な使い勝手です。
最初は、「print( )」から開始です。
( )の中の数字を表示させると言うコマンドですが、なんだか高校入学したばかりの時分に初めてのパソコンでBASICを勉強した時の様な既視感・・・ここから始めなくていいんですけど、と思いつつもテキスト通りに進めます。
「print( )」は、ただ表示させるだけでなく、( )内で計算をさせることができます。この辺は、Excelでやっている通りです。「print(6+3)」とすると、結果の9が帰ってきます。「print(6*3)」の様に掛け算もできる。
このコマンドを、2行に分けて書くこともできる。
print(1+2*3)
print((1+2)*3)
文字列を表示させたいなら、" " あるいは ' ' で表示させる。
print("hallo world")
既視感出た〜!!
これ、確かBASICでもやったぞ!
あの時はどんなコマンド使ったか忘れたけど、その後お絵描きをしていく流れだった・・・あれは、その後役には立たなかった。1985年あるいは1986年あたりか・・・10年もすればWindows95が発売になり、私自身はワープロ専用機からMacを使う様になるのだから、もちろん不要だったわけだ。(あの頃のMacはPerforma・・・機種名はもう忘れた)でも、のちに社会人になってLinuxをちょこっと触る上では、コマンドを叩くのに尻込みはなかったですね。
その後、いくつかテキスト表示の例を学びながら・・・変数を利用して、テキストを表示させるとかも・・・次に、『Pythonの配列』と言う、なんだか億劫な講に突入していきます。
1番からスタートではなく0番からスタート
プログラマの皆さんなら当たり前ですが、コンピュータの世界では1からではなく0番からと言うのがよくあります。Pythonでもカウントの仕方は0番からとなるので注意が必要です。
同時にここから、Python環境に用意された「ライブラリ」の利用が始まります。『Matplotlib』(マット プロット リブ)は、グラフにプロットするライブラリです。これを利用してXY軸に対する値を配列で提供してやることでグラフを生成することが出来ます。
次に利用するのが『NumPy』(読みは、ナンピーでいいのかな?)、公式テキストでもあまり説明はありませんが、計算処理を高速に行うためのライブラリで、行列などの多次元の数値計算を効率的にできるライブラリともネットでは解説されています。
(コード記述)
import numpy as np
A = np.random.randint(0,10,(4,5))
print(A)print(type(A))
NumPy利用によるrandom.randint関数で生成される配列を表示させます。ここでは、( )の中に0から始まる10個の数値範囲において、縦4×横5の配列を表示せよと言うコードになります。もちろん、ここで要注意なのは、0から始める数字において10番目を意味するのは『9』となることを理解しておきましょう。
(結果)
[[0 1 9 1 0]
[6 5 3 4 4]
[5 0 7 5 3]
[1 8 0 7 2]]
<class 'numpy.ndarray'>
最後の行に<class 'numpy.ndarray'>と表示されますが、「ndarray」とは、n-dimensional arrayの略であり、n次元配列のデータ構造でC言語を基に配列(行列)の計算に特化した効率的な処理が出来る型を示しているとのこと。全くよく分かりませんが、ランダムに数値を置き換えるのだから凄いプログラムであることは分かります。
今日はここまでとします。
次は、Visual Studio Codeでも初期に勉強したpandasのデータフレーム型に花の「アヤメ」の品種を分類するデータセットを読み込ませると言うところから再開します。
この記事が気に入ったらサポートをしてみませんか?