カテゴリー

  • プログラミング
  • 英語学習
  • 海外
  • キャリア
  • Kredo
Kredoオンラインキャンプ
スタッフ募集中
Kredoオンラインキャンプ体験談
無料カウンセリングはこちら

セブ島IT留学の「Kredo」が運営するメディア「Kredoblog」

無料カウンセリング予約
  • プログラミング
    • Web・プログラミング(学習)

    • Web・プログラミング(知識)

    • AI・テクノロジー

    • デザイン

  • 英語学習
    • 英語学習法

    • 英語フレーズ

  • 海外
    • 海外移住

    • 海外留学

    • 海外就職

  • キャリア
    • 転職情報

    • キャリアデザイン

  • Kredo
    • ニュース・キャンペーン情報

    • セブ島情報

    • インタビュー

  • 無料ウェビナーに予約する >
5月申し込み限定授業料半額 kredo it留学オンライン
  • TOP
  • プログラミング
  • AI・テクノロジー
  • AI(人工知能)プログラミングの基礎から入門者向け学習法を解説

AI(人工知能)プログラミングの基礎から入門者向け学習法を解説

アバター画像
太田 ヨウタ
公開日:2023.03.10
更新日:2023.03.10
AI・テクノロジー | #AI(人工知能)#エンジニア
  • ツイート
  • シェア
  • はてな
  • ポケット
AI(人工知能)ロボットのイメージ画像
少年

AI(人工知能)のプログラミングに興味がある!

少女

AIプログラミングの学習方法が知りたい

少年

AIプログラミングでどんな物が作れる?

この記事はこんな要望や疑問を持った、あなたに向けたAIプログラミングの入門記事です。

具体的には、次の順番で紹介しています。

  • AI(人工知能)の基礎知識
  • AIプログラミングで必要な知識
  • AIプログラミングの学習方法
  • AIプログラミングで作れるものの紹介
  • AIエンジニアの市場価値について

 

AI(人工知能)に興味があるのであれば、ぜひ読んでみてくださいね。

記事のもくじ

  • 【入門1】そもそもAI(人工知能)とは何か
    • AI(人工知能)の定義と歴史
    • AI(人工知能)でできること
  • 【入門2】AIプログラミングで必要となる知識
    • 機械学習
    • ディープラーニング
    • 数学
  • 【入門3】AIプログラミングの4ステップ学習法
    • Step.1:Pythonの基礎文法を学ぶ
    • Step.2:機械学習について学ぶ
    • Step.3:付随する技術を身につける
    • Step.4:サービスを作り、公開する
  • 【入門4】AIプログラミングの例
    • 仮想通貨の価格予測
    • 文書の自動分類
    • 自動運転
    • 画像認識・顔認識
  • 【入門5】AIエンジニアの市場価値
  • まとめ:プログラミングを学んで市場価値の高いAIエンジニアを目指そう!

【入門1】そもそもAI(人工知能)とは何か

【入門1】そもそもAI(人工知能)とは何か

AI(人工知能)について、覚えておきたい基礎的な知識についてお話します。

AI(人工知能)の定義と歴史

AIはArtificial Intelligenceの略で、人工的な知能=人工知能となります。

人工知能の定義は、研究者の間でもばらつきがありますが、人工知能に関する著書を多数出版する、東京大学の松尾豊さんは次のように述べています。

「人工的に作られた人間のような知能。ないしはそれを作る技術」

(引用元:https://www.worksight.jp/issues/607.html)

AI(人工知能)は、最近になって注目を集めているように思われがちですが、その歴史は古いものです。

最初のAIブームは1960年代で、その後10年ほどの間隔でブームと下火となる「冬の時代」が交互に訪れています。

2010年代に入り、インターネットが発達したことで、ビッグデータと呼ばれる膨大な量のデータを簡単に入手できるようになりました。

そのビッグデータを処理するために、機械学習が活用され始め、現在のAIブームに至ります。

現在は、第3次AIブームの真っ只中です。

ai-diagram

(引用元:人工知能の勘所をつかむ(MarketingBaes))

AI(人工知能)でできること

AI(人工知能)では、膨大なデータをもとに高速で次に挙げる処理を行うことができます。

AI(人工知能)でできる処理
  1. 分析、分類、最適化
  2. 予測、推論
  3. 認識、理解、意味付け

具体的には,画像認識や株価予想、文書の分類などが挙げられますね。

もともとコンピュータは単純作業の繰り返しを得意としています。

そのため、与えられたデータの種類や意味を理解できるようになれば、膨大なデータから予測や推測をできるようになります。

後述する機械学習やディープラーニングによって、AI(人工知能)によってできることは、格段に広がりました。

AI(人工知能)について、もっと詳しく知りたい方は、この記事もおすすめです。

AI(人工知能)プログラミングの基礎から入門者向け学習法を解説
AI(人工知能)プログラミングの基礎から入門者向け学習法を解説
2023-03-10

【入門2】AIプログラミングで必要となる知識

【入門2】AIプログラミングで必要となる知識

AI(人工知能)について、基礎的な知識を身に着けたあとは、AIプログラミングで必要となる具体的な知識について見ていきましょう。

機械学習

これからAIプログラミングを行うにあたり、避けて通れないのが「機械学習」です。

人間とコンピュータの大きな違いは、自ら学習して知識を増やすことができるかどうか、という点ですね。

機械学習は、文字通り機械(コンピュータ)に学習する能力をもたせることによって、自ら判断することを可能とする方法・手法です。

端的に言えば「データから規則性を抽出する統計的手法」を、機械学習と呼びます。

機械学習を使って、コンピュータが学習する方法は大きく分けて3つあります。

  • 教師あり学習→「入力に対する適切な出力を求める学習」
  • 教師なし学習→「入力情報の特徴を見つける学習」
  • 強化学習→「最後の結果が最良となる行動を見つける学習」

 

教師あり学習は画像認識や分類に関する学習であり、教師なし学習は傾向分析、予測に関する学習です。

強化学習は、囲碁や将棋などの指し手をイメージするとわかりやすいでしょう。囲碁のAIプログラムであるAlphaGoを代表とする、「価値」を最大化する行動に関する学習となります。

ディープラーニング

ディープラーニングは、機械学習の中に含まれます。

人間の脳細胞の挙動を模倣した、ニューラルネットワークモデルの1つの形態がディープラーニングとなります。

ben-graph

ディープラーニングは「十分なデータ量があれば、機械が自動的に特徴を抽出する」事ができる学習方法です。

ディープラーニングは、目の認識部分のニューラルネットワークを模したものであるため、画像認識や分類を得意としています。

囲碁の盤面も画像として認識・学習することができ、先程も登場した囲碁のAIプログラムであるAlphaGoも、ディープラーニングを活用しています。

第3次AIブームの火付け役とも言われるのがディープラーニングです。

ディープラーニングによって、AI(人工知能)の精度は飛躍的に高まりました。

そのため、これからAIプログラミングを学習するにあたり、ディープラーニングも避けて通れないモノの一つですね。

数学

機械学習を理解するためには、数学の知識が必要となります。

機械学習で求められる数学のレベルは、高校~大学卒業レベルのものです。具体的には、次のものが挙げられます。

機械学習で必要となる数学の知識
  1. ベクトル
  2. 微分
  3. 行列
  4. 指数関数
  5. 対話関数

なかでも微分は、特に重要となる数学知識の一つです。

機械学習でコンピュータに学習をさせる場合、大抵はある関数が最小(または最大)を取る入力を探す問題である「最適化問題」に帰着します。

この問題を解くためには、関数の傾きを知ることが重要となり、その傾きを導出する方法が「微分」であるからです。

数学が得意な人であれば、スムーズにAIプログラミングの学習を進めることができるでしょう。

しかし、現時点で数学の知識がなくても諦める必要はありません。

あくまでもプログラミングと数学は別物であるため、数学の問題を解くこととは別物であるからです。

実際にAIプログラミングを実践する中で、少しずつ学んでいきましょう。

【入門3】AIプログラミングの4ステップ学習法

【入門3】AIプログラミングの4ステップ学習法

それでは、具体的にAIプログラミングを学ぶための学習方法を紹介します。

4つのステップに分けているため、一つずつ学習を進めていきましょう。

Step.1:Pythonの基礎文法を学ぶ

AIプログラミングでは、プログラミング言語にPythonを選ぶことが多いものです。

Pythonには、多くの機械学習向けのライブラリやフレームワークが存在していることが、大きな理由としてあげられます。

さらに、Pythonはプログラミング初心者にも易しい言語であり、シンプルかつ読みやすいコードを書けるところも選ばれる理由の一つです。

高速な処理を求められる場合は、CやC++などを選ぶこともありますが、まずはPythonから学ぶことをおすすめします。

Pythonの基本学習は、書籍やオンラインサイトで行いましょう。

書籍であれば「詳細! Python 3 入門ノート」が人気が高くおすすめです。

オンライン学習サイトであれば「Progate」や「ドットインストール」が学びやすく、おすすめできます。

どちらの学習サイトも実際にコードを入力して進めていくため、手を動かしながら学べます。

Progateでは、実行環境を用意する必要がないため、すぐに学習に取り欠かれるところが特徴です。

ドットインストールでは、学習を開始する前に実行環境を用意しなければなりませんが、実行環境を作るための講座もあるため、あなたの状況に合わせて選択してください。

Step.2:機械学習について学ぶ

Pythonで一通りの基本を学び終えたら、機械学習についての学習を開始します。

Pythonで機械学習について学ぶのであれば、次に挙げるライブラリやフレームワークについて、学習を進める中で学んでいきましょう。

機械学習を学ぶ上で覚えておきたいライブラリ・フレームワーク
  1. Nampy
  2. Pandas
  3. Matplotlib
  4. Keras
  5. TensorFlow

機械学習を学ぶための書籍としては、次に挙げる書籍が人気があるため、書籍を使って学習を進める場合の参考としてください。

機械学習を学ぶためのおすすめ書籍
  1. Pythonで始める機械学習(OREILLY)
  2. ゼロから作るDeep Learning(OREILLY)
  3. PythonとKerasによるディープラーニング(マイナビ)

オンライン学習サイトとしては、「Aidemy」がおすすめです。

Aidemyでは実行環境を用意する必要がなく、Pythonの基礎から機械学習概論、ディープラーニングの基礎まで、無料で学習することができます。

さらに、機械学習について学ぶ中で、必要となる数学の知識も合わせて学習を進めていきましょう。

数学の知識と合わせて学習ができる書籍としては、「Pythonで動かして学ぶ!新しい機械学習の教科書」をおすすめします。

Step.3:付随する技術を身につける

機械学習では、膨大なデータを必要とするため、データを収集する・保存するための技術も併せて身に着ける必要があります。

機械学習について、一通りの学習を終えたあとに次に挙げる技術についても学習しましょう。

機械学習と合わせて習得したい技術
  1. SQL(データベース)
  2. スクレイピング
  3. クラウドサービス

Web上のデータはデータベースに保存されていることが多いものです。データベースからデータを取得するためには、SQLの知識が欠かせません。

さらに、データを収集するためには、Web上の情報を自動的に取得するための「スクレイピング」を活用しましょう。

クラウドサービスは、AmazonのAWSやGoogleのGCPが有名です。

AWSやGCPでは、サービスを開発するためのインフラや、データ分析を行うためのクラウドサービス(API)が用意されています。

うまく活用することができれば、時間をかけずに簡単にサービスを作成することができますよ。

Step.4:サービスを作り、公開する

最後は、実際にあなたが考えて作成したサービスを公開してみましょう。

実際にサービスを作る中で、自分に足りない知識を把握することができます。公開したサービスをユーザーに使用してもらうことで、フィードバックも得られますね。

学習は知識を得るためのものであり、最終的には形にして公開することが大切です。

スキルは目に見えづらいため、形として残すことができれば、各方面へのアピールに繋がります。

たとえば、データサイエンティストやAIエンジニアを目指すのであれば、ポートフォリオとして提示することもできますよね。

Twitterなどで公表すれば、同じ志を持つ仲間を作ることもできますし、アウトプットすることのメリットはいろいろ考えられます。

いきなり新しいサービスを作ることが難しいと考えているのであれば、最初は既存サービスの模倣からでも良いと考えます。

模倣の場合は、あなたが作ったものとして公開することは難しいですが、プログラミングを身につけるためには有効的な方法です。

サービスを公開する場合には、自前でサーバーを用意するのは現実的ではないため、AWSやGCPなどのクラウドサービスを活用することをおすすめします。

データの分析を行いたい場合でも、分析した結果をアウトプットしてみましょう。

分析した結果から何が求められたのか、言語化して公開することで、サービスを公開するときと同様のメリットを得られます。

【入門4】AIプログラミングの例

【入門4】AIプログラミングの例

AIプログラミングで作られたものにはどのようなものがあるのか、具体的な例を紹介します。

仮想通貨の価格予測

ビットコインのチャートデータから、回帰予測を行った例です。

過去のデータから、今後の予測を立ててグラフとして出力しています。

予測の精度が高まれば、自動取引で億万長者が目指せるかも・・・?

機械学習で仮想通貨を予測してみた!

文書の自動分類

さまざまなジャンルの文言が入り混じった文章を、機械学習をもちいてジャンル別に分類した例です。単語からジャンルを分析して、分類しています。

「あなたへのおすすめ」などに使用されるレコメンド機能であったり、スパムメッセージの対応などに活用することが考えられますね。

自動運転

私たちの暮らしに直結する自動車の自動運転。ニュースでも話題に上がることが多いですね。

自動運転にも機械学習が応用されていて、自動運転がどのような仕組みであるのかを理解することができます。

Udacityのデータセットを深層学習させて、自動運転をしてみた

画像認識・顔認識

画像認識や顔認識も機械学習の例として有名です。

紹介する例では、動き続ける人物の顔を認識して、モザイクを掛け続けるというもの。

顔認識の精度が高くなれば、セキュリティ方面に大きく発展させることができます。

【入門5】AIエンジニアの市場価値

【入門5】AIエンジニアの市場価値

入門の最後に、AIエンジニアの市場価値について紹介します。

AIエンジニアの市場価値は非常に高く、これからプログラマーを目指すのであれば、AIエンジニアはとても魅力的な職業です。

経済産業省によれば、AIエンジニアを含む先端IT人材の不足数は、2020年までに4.8万人にまで拡大するとの試算が出ています。

AIエンジニアは不足していて、非常に求められていることがわかりますね。

求人情報を見ると、年収は500万円~1,000万円ほどが見込める職業です。

ここまでは日本における話ですが、海外に目を向けてみると、AIエンジニアはさらに優遇されていることがわかります。

アメリカの経済誌「Forbes」のWeb記事にて、海外のAIエンジニアの平均年収は1,000万円ほどとの調査結果が出ていました。

AI-Salary

(引用元:The Best AI Companies To Work For In 2018 Based On Glassdoor(Forbes))

AIエンジニアは日本だけでなく、世界的にも求められている職業です。

海外では特に市場価値が高い職業として、人気があります。

参照元:『IT人材の最新動向と将来推計に関する調査結果』(経済産業省)

まとめ:プログラミングを学んで市場価値の高いAIエンジニアを目指そう!

まとめ:市場価値の高いAIエンジニアを目指そう!

現在、AI(人工知能)は第3次ブームを迎えていて、これからさらに発達・発展していくことが予想されます。

AIエンジニアとして働くことは、非常に価値のあるものになるでしょう。

日本でのAIエンジニアの市場価値は高いものですが、海外では日本以上に市場価値が高い職業です。

AIエンジニアは多くのスキルセットを求められるため、簡単になれるものではありませんが、今からAIや機械学習について学習するのであれば、目指してみたい職業の一つと言えるでしょう。

英語でプログラミングが学べるKredoオンラインキャンプ

プログラミング×英語を身につけてグローバルに活躍しませんか?

当メディアを運営しているKredoでは、プログラミング×英語が学べるオンラインスクール「Kredoオンラインキャンプ」を運営中です。プログラミング×英語を身につけた当校の卒業生はグローバルIT企業、外資系企業、海外就職、フリーランスへのキャリアチェンジを実現しています。これからの時代に必要な「英語×IT」のスキルを身につけてグローバルに活躍しませんか?

Kredo オンラインキャンプへ
  • ツイート
  • シェア
  • はてな
  • ポケット
この記事を書いた人
アバター画像
太田 ヨウタ

IT関連企業にてインフラエンジニア(SE)として官公庁や銀行などのシステム更改をメインに約10年従事。基本情報技術者・ネットワークスペシャリスト・情報セキュリティスペシャリストなどの資格も取得。その後、IT・Web専門ライターとして、プログラミング、ネットワーク、セキュリティ、AIなどの解説記事を中心に執筆している。「専門知識を初心者でも理解できるようにわかりやすく書く」ことを心がけている。

関連記事

  •  decoding
    AI・テクノロジー

    ChatGPTはエンジニアを支援する?未来を変えるAIの概要とできることを解説

    2023.04.01
  •  decoding
    AI・テクノロジー

    AI(人工知能)の作り方を3つの手順で解説!初心者でも意外とできる

    2023.03.10
  •  decoding
    AI・テクノロジー

    PythonでAI(人工知能)を作るには?その仕組みと方法を紹介

  • AI(人工知能)人材とは?種類や不足状況、なる方法まで徹底解説!
    AI・テクノロジー

    AI(人工知能)人材とは?種類や不足状況、なる方法まで徹底解説!

よく読まれている記事

  •  decoding

    【無料オンラインセミナー】インターン型実践プログラムー未経験から7ヶ月で即戦力 グローバルIT人材を目指す方法:3/27(月) 〜 3/29(水), 4/3(月) 〜 4/5(水) 20:30 ~

  •  decoding

    IT×英語を学ばなければ取り残される!Kredo CEOが日本衰退とIT業界の未来を解説

  •  decoding

    【メディア掲載】Kredoオンラインキャンプを紹介していただいた生徒様、企業様の紹介

  •  decoding

    卒業生インタビュー

  •  decoding

    おすすめ記事

IT留学オンライン
新規CTA
@KREDO JAPAN Inc. 2023 All rights reserved.
Kredo オンラインキャンプ なぜ、プログラミング×英語なのか 英語が苦手な方へ 体験談 Webデザインコース Webデベロップコース インターン型実践プログラム IT英語コース カウンセリング予約 資料請求
Kredo ラーニング サービスサイト (準備中) KredoIT 留学 (現在Kredoオンラインキャンプに変更) 運営メディア Kredo Blog
運営会社 会社概要 採用情報 利用規約 プライバシーポリシー 特定商取引に基づく表示 お問い合わせ