文系学部卒から始めるAI・機械学習①【概要編】
今回は、いつもと趣向を変えて、勉強・学習方法に特化した記事を記載していく。学歴考察・キャリア考察と違った記事になってしまうのでご容赦頂きたい。
また文章量が膨大になりそうであったので、数回に分けて記載させていただく。
筆者は業務の関係もあって、AI・機械学習に係る学習を2年程度継続して行っている。
一般的にこれらの分野は、理系が多いとされており、文系はあまり見ない。
その中で文系学部卒(経済学部卒)である筆者の学習履歴を記載することは、今後当該分野をリスキリングしたい社会人や学生にとっては有用なのではないかと感じた。
今回は、まずは全体的な概要として、どのような順番で筆者自身がリスキリングを行ってきたのかと言う点を記載させていただく。
まずは、勉強前に筆者が有していた前提知識を記載させていただく。
AI・機械学習の分野を習得する上では、主に以下の前提知識が必要であると考える。
・数学(根本的に理解するという観点では一番重要かも)
・統計学
・情報理論(IT知識)
・Python
・その他(SQL等)
【前提知識のレベル】
・数学
高校時代から英語に並んで得意科目。受験生の時は、複数回の冊子掲載経験あり。大体いつも60前後で安定していた。東大入試における得点源の一つ。
文系だが、東大後期を見据えて、当時で言うところの数学3C(微分積分・行列)まで履修済み。ちなみに解答までの道筋が見えやすいという意味で、数学3Cの方が数学1Aよりも得意であった。
大学時代に微分積分・線形代数・確率論の全て履修済み
機械学習を学ぶ上で必要な数式計算は一通り自分で手を動かして実行できるレベル
・統計学
統計学に関しても、大学時代に前期教養、経済学部の2回に亘って履修済み。大学時代は理論的な部分の学習が多く、各種数式展開を自分のノートに書いて行う等非効率な側面もあったかもしれない。ゼミでも統計学を扱っていた。
社会人になった後も、業務で統計学の知見を要求される場面がしばしばあり、実践的な統計学の知見の活用と言う観点では、社会人になってから学んだとも言える
・情報理論
基本情報等で要求されるIT・情報に係る知見。
こちらはどちらかと言うとそこまで触れてこなかった部分であり、苦手意識があった。
IT知識に関しては、学習をスタートした時点では、殆ど皆無に近かった
・Python
こちらに関しては、前職で窓際をやっている際に、業務中に勉強していたこともあってか基本的な知識はあった。
ただ、自分で実際にコードを書いて何かを作るという事は行っていなかったため、基本的なPythonの文法知識を有していたくらいで、Pythonがどのように活用され、それによって何が出来るかと言うところまでは知らなかった
・その他(SQL)
こちらも前職で窓際をやっている際に自分で学習していた。
Pythonより出来ることは限られている分、コードもシンプルで理解するのに時間はかからなかったが、こちらも基本的な文法の知識を有していたくらいであった
総じて言うと、数学・統計学の知識はあったが、IT周りやPythonの知識は殆ど無い状態から学習を開始した。
【自分自身が取った学習方法】
・資格試験の取得を通じた学習
これが包括的な知識を身に着けるという観点で一番有用だったように感じる。資格試験は形に残るし、自分で勉強を進めると生じてしまうムラをなくせるという観点でも優れている。結局問題集を解いて学習するというオーソドックスな学習方法に勝るものは無いと感じており、今回の学習においても当該方法を実践した
・業務での機械学習モデルの構築・DX関連業務を通じた学習
実践的な知見の獲得と言う観点ではこれが最も役に立った
・各種教科書の通読
理論面を一から学習するという観点ではまずは、市販の教科書を確り読み込んだ方が良い。ただしAI関連の書籍はレベルの高低差が激しいので、適切なレベル感のものを自分で選定する必要がある
・AI・半導体セクターに係る時事ネタ本の通読
AI・機械学習を学習するモチベーションの一つとして、市場動向を立体的に理解するという事があったので、それらを俯瞰的に理解する上でもAIや半導体に係る本や雑誌を何冊か通読し、自分が勉強している内容がどこに結び付いているのかと言う点を常に定点チェックしていた
・Pythonコードの写経学習
こちらは自分が学習を開始した最初の段階で取った学習方法で、Pythonへの抵抗感をなくすために、まずはPythonのコードが書いてある教科書に記載されているコードを写経することを通じて、コーディングに対する慣れを獲得していった
・Pythonでのプロダクトの開発
こちらはE資格の認定講座にてPythonを用いたプロダクト開発であり、そちらを通じて自分自身でコーディングを行いプロダクト開発を行った
【資格の学習手順】
以下に実際に、筆者が取得した各種資格試験の時系列での記載を行う。
当然だが資格取得に当たっては、その人の前提知識がどの程度あるかと言う点により難易度は変わってくる。
ただ資格自体には軽量なものとそうでないものがあるので、軽量なものから取得していくことをおススメする。
以下には、受験の動機、使用した参考書と学習手順、そして身に着いた知識と受験した感想を記述していく。
ちなみに途中からChatGPTを契約して、分からない部分は都度質問しながら学習を進めたが、正直「本当に優秀」と言うのが感想で、筆者の学習効率は一気に高まった。AI・機械学習関連の分野に関しては、独力で調べながら進めると非常に時間がかかるので、ChatGPTは契約マストだと思う。
①ITパスポート
(受験の動機)
ITに係る知見が殆ど無い状態であったので、まずは一番簡単な試験は何かと調べた際に出てきたのが当該資格であったので、受験を決意
(使用した参考書)
(学習手順)
上記の参考書を一通り解いたのみ
(身に着いた知識)
ITに関する基本的な知識
(受験した感想)
正直簡単すぎて、あまり勉強した記憶がなく、従って何かが身に着いたという感覚も無いが、それでもITに係る知見は殆ど有していなかったので、入口としては良かったと思う
②統計検定2級
(受験の動機)
大学時代に学んだ統計学を復習するため
(使用した参考書)
(学習手順)
上記の参考書を一通り解いたのみ
(身に着いた知識)
大学で学んだ統計学の復習
(受験した感想)
レベル感としては、前期教養の統計学と大差ない。復習にはちょうど良かった
③Python 3 エンジニア認定データ分析試験
(受験の動機)
Pythonの体系的な知識を身に着けるため
(使用した参考書)
(学習手順)
上記の教科書を読み、ネットに落ちている予想問題を解いたのみ
当該書籍が当該テストの指定教科書になっているため、こちらを勉強すれば十分。教科書に掲載されているPythonコードを写経することで学習効果の向上が期待できると思われる
(身に着いた知識)
Pythonコーディングの基礎知識
機械学習の基本的な知識
(受験した感想)
テスト本番で出てくる問題自体はかなり簡単。ネットに落ちている予想問題とのレベル差が大きい。Pythonの基礎知識を獲得するという観点では有用な試験だと思う
④G検定
(受験の動機)
AI・機械学習の基本的な知識を獲得するため
特に機械学習を超えてディープラーニングに係る知見を獲得するため
(使用した参考書)
(学習手順)
上記の参考書を一通り解いたのみ
(身に着いた知識)
AI・機械学習に関連する基本的な知識。
個人的な感想ではあるが、G検定では表面的な知識しか獲得できない。しかもこの表面的な知識だけは用語を理解することすら難しい。こういったものは実際にコーディングしたり何らかのプロダクトを開発を行った方がよっぽど身に着くのではないか。その点ではG検定よりも幾分難易度は高いものの、後述するE資格の方が資格としては数段優れている
(受験した感想)
表面的な知識と単語を覚えることは出来たが、自分でそれらの単語や概念に関して話せるくらいにまで理解できたかと言われると不明。自分の中で腹落ちするくらいまで理解度を深めたいのであれば、E資格の方がおススメ出来る。AI関連の知識は実装とセットにして初めて腑に落ちる
⑤データサイエンティスト検定
(受験の動機)
データサイエンスに関する基本的な知識の獲得
統計学・プログラミング・機械学習の全てを同時に学習出来る試験内容であったため
(使用した参考書)
(学習手順)
上記に掲載している2冊の問題集を解いた
(身に着いた知識)
データサイエンティストに必要な知識全般
統計学・機械学習・データエンジニアリング全般
特に与えられたデータをどのように分析していくかと言う部分が一番実践的で業務でも役に立った
(受験した感想)
これまで受験した試験と重複する内容も多かったので、一番すんなり通った試験だったと思う
⑥基本情報
(受験の動機)
IT周りの知見を獲得するため
情報理論を体系だって勉強するため
(使用した参考書)
(学習手順)
問題集→過去問演習
(身に着いた知識)
IT周りの知識
アルゴリズム
(受験した感想)
正直この試験が一番難しく感じた。実際ネット上の感想を見ても「基本」と付いているが、実は「応用」情報よりも難しいのではないかと言う意見もあるくらいだ。
まずIT分野に従事している訳ではないので、勉強していてもイメージが付きにくいし、機械学習や統計学に関する知識は殆ど出ないためそこで点数を獲得することも出来ない。IT関連業界にいる方にとっては当たり前の知見も多いのだとは思うが、金融業界にいる者にとっては厳しかった。
また試験がIT周りの知識を問う部分とアルゴリズムに分かれているのだが、両方同時に合格しないといけない点も難しい。
ただこの試験の勉強を通じてSQLの知識やデータベースの取り扱い方、システム開発の流れと言った部分の知識を学習することが出来、更にこれまで掲載してきた試験と重複しない部分が多かったので、非常に勉強にはなった
⑦統計検定準1級
(受験の動機)
更に深い統計学の知識を獲得するため
より実践的な統計学の知見を獲得するため
(使用した参考書)
(学習手順)
実践ワークブックが教科書に指定されているため、こちらを通読→問題集を数回繰り返す
(身に着いた知識)
主成分分析・重回帰分析・ベイズ等のより発展的な統計学の内容
(受験した感想)
統計検定では、実は数学力がそこまで必要な訳ではない。勿論、微分積分、線形代数、確率論の知識は必要だが、ゴリゴリの計算力が必要な訳ではない。
どちらかと言うと各種統計的な手法の表面的な理解とそれの簡単な実践のみである。より計算力・数学力を活かしたいのであれば、統計検定1級やアクチュアリー試験の数学の方が向いている。
ただそれ以外の前掲した他の試験では、各種統計的な手法に関しては簡単な計算問題を解くこともないので、そういった機会を得るという観点では統計検定準一級は良い試験かもしれない。個人的な意見ではあるが、このような分野では、自分で計算問題を解くことで初めて本質的な理解が出来ると思うのだ。
当たり前だがこの試験では、あくまで統計学の試験であり、機械学習やディープラーニングに関しては殆ど学べないので注意が必要である。ただ機械学習とディープラーニングは統計学を基礎としてあるので、それらを学ぶ上での土台になることは間違いない
⑧E資格
(受験の動機)
機械学習に留まらない、ディープラーニングの知見を獲得するため
G検定では表面的な内容しか学習することが出来なかったので、それの理論的な部分やPythonでの実践的なコーディングを学習するため
(使用した講座・参考書)
まず注意点として、E資格に関しては主催団体であるJDLAが指定している講座を受講し、それを修了することが受験に必要な資格となる。
筆者はAVILENの講座を受講したが、受験資格を得ることが出来るのであればどの講座でも良いと思われる。
学習方法としては、AVILENの講座を受講しながら教科書を読んで、理論的な部分を学習。
その後、AVILENで課されているコーディング試験を解く。このコーディング試験は全部で10個程度あり、いずれも穴埋め形式でコードを埋めていく必要がある。ChatGPTに質問しながら進めたが、これはなかなか骨の折れる課題であった。
その後、プロダクト開発試験があり、ここでは自分でテーマを設定し、ディープラーニングを用いたプロダクトを開発し、そちらを提出する必要がある。決まった答えがある訳ではないので、コーディング試験よりは幾分か負担は軽かった。
更に最後の修了試験に向けていくつかの小テストに合格する必要があり、その後にようやく修了試験を受験することが出来る。この内容も思ったよりも難しく、筆者は2回目での合格となった。
理論的に分からない所は、「ゼロから~」シリーズを通読して理解を深めた。
E資格本番に向けては、通称「黒本」と言われる問題集を解いて試験対策に臨んだ。ただこの一冊だけで十分かと言われると結構微妙な所で、本番では聞いたことの概念なども出てきた困惑した
(身に着いた知識・経験)
数学・統計学・情報理論・機械学習の復習
Pythonコーディング経験
プロダクト開発経験
ディープラーニングに関する理論的な部分からの知識習得
(受験した感想)
正直E資格に向けた学習が上記のどの資格よりもタメになった。
ぶっちゃけ上記で挙げた試験の中では断トツで負荷が大きい。
そもそも講座を修了するだけでも一苦労である。
E資格以外の試験で統計学・機械学習・情報理論・Pythonを学んできたため、何とか学習を進めることが出来たが、そのベース部分が無いと講座修了すらも厳しいと思う。
ただE資格を通じてPythonを通じたディープラーニングの実装経験やプロダクトを開発経験、ディープラーニングを理論的なバックグラウンドから理解でき、非常にタメになった。
生成AIやGPU等昨今ニュースで話題の知識を学習することが出来たし、AI関連の時事ネタ本に書いてあることは殆ど理解できるようになった。
AI学習の最終成果として当該資格は非常に優れているのではないかと感じる
以上がAI・機械学習学習の概要である。
次回の記事では、自分が勉強を通じて感じたこと、達成できたこと、得られた経験更には今後の目標に関して記載していきたい。
こちらの記事が当該分野の学習を進める方の参考になれば幸いである。
また一応念を押しておくが、筆者はあくまで当該分野において高等教育を受けた訳ではないので、より専門的な話に関しては、その道のプロの方に聞いて頂きたい。