• Skip to main content
  • Skip to primary sidebar

プログラミング入門ナビ

プログラミング学習初心者のための情報メディア

You are here: Home / Archives for 2020

Archives for 2020

AIプログラマーになるには?仕事内容や初心者からの目指し方を紹介!

2020-05-26 By プログラミング入門ナビ編集部

AIのイメージ

はじめに

AIのイメージ

人工知能(AI:Artificial Intelligence)が近年注目を集めています。

高齢化による労働力不足や働き方改革といった社会的懸念を解決できる期待感から、ある調査によればこの分野の市場規模は近年のうちに3900億ドルを超えると予測されているほどです。

これに伴い、人工知能を用いたアプリケーションやシステムを構築するAIプログラマー人材の需要が高まると見られています。

人材不足や業務内容が複雑であることから、年収も高く1,000万円台を超えることもあるようです。

この記事では、AIプログラマーの仕事内容や、初心者から目指す場合にやるべきことを紹介します。

AIとは?

疑問を抱く男性

人工知能(AI)と一言にいっても、様々な定義があります。

アメリカの哲学者ジョン・サールが提唱した「強いAI」「弱いAI」という分類によれば、前者は自意識を持った人間の代わりになるようなもの、後者は人間が持つ知性の一部を有し特定の仕事を行うものを指します。

近年ビジネスへの応用事例が増えているのは後者ですね。前者が映画に出てくるような人工知能のイメージですが、世の中に出てくるのはまだ先のことになりそうです。

以降、この記事では後者の「弱いAI」を指して「AI」や「人工知能」という用語を用います。

AIを実現する肝の技術は機械学習とディープラーニングです。この単語も耳にされたことがあるかもしれません。

本記事では詳しい説明を省きますが、簡単にいうと膨大なデータからとある特性に基づいて傾向を学習し分類や予測を行うための技術です。

この「とある特性」を人間が予め選定する必要があるのが機械学習、人工知能が自分で「とある特性」の選定まで行うのがディープラーニングで、さらにこれらも学習方法の違いによりいくつかの種類に分類されます。

AIの応用技術

AIの基本機能はデータの分類や予測ですが、これらは一体どのように応用されるのでしょうか?

こちらも実に様々ですが、主に下記のような用途に使用されています。

画像認識

顔認識

画像の中から人間の顔が写っている部分を検知する顔認識技術や、どんな物が映り込んでいるかを予測する物体認識などの用途に使用されます。

顔認識はカメラのオートフォーカス機能や撮った写真の分類等に欠かせない技術となりました。物体認識は自動運転等の分野で活用されていますね。

音声認識

音声認識

音声信号を分析して話している言葉やその話者を認識します。スマートスピーカー等に搭載されていますね。

あくまで音声信号から語を抽出する部分が音声認識によって担われており、その意味を分析するには次に挙げる自然言語処理が活用されます。

自然言語処理

言語処理

テキストデータの羅列からその意味合いを理解します。SiriやAlexaに代表されるAIアシスタント機能や検索エンジン、翻訳機能等で活用されていますね。

スマートスピーカーやスマートフォンでのAIアシスタント活用が広がることで学習データがどんどん集まり、さらなる発展を遂げている過程です。

AIプログラマーが活躍する業界は?

それでは、どのような業界でAIプログラマーが活躍しているのでしょうか。

モビリティ

自動運転

自動車の自動運転やドローン・ロボットの自動制御には人工知能が欠かせません。モビリティ本体に取り付けられたカメラや様々なセンサから入ってくる情報を瞬時に処理して次の動きを判断し、その通りに動かすために活用されます。

スピードと正確性が何より重要なので、様々な機械学習アルゴリズム知識に熟知していること、ある程度のハードウェア知識も求められるでしょう。

金融システム

金融システム

金融商品の価値予測を行い、投資者へのアドバイスまたは代理運用まで行う用途への注目が高まっています。従来、熟練した人間が行っていた業務を人工知能が行うことでコストを下げることができるためです。

同様に保険商品の価値判定や、消費者金融の金利判定にも応用され始めています。

こうした金融商品の分野で活躍するエンジニアには、統計や確率等の数学知識を求められる場面も多いです。

医療システム

医療システム

医療現場はデータの宝庫です。大量の症例・レントゲン写真やカルテなどの情報から、治療方法や新薬を見つけるための応用が始まっています。

また、個別の患者の症状やレントゲン写真から病名を予測したり、遺伝子情報から将来発生し得る病気と対策を提案するサービスもあり、こちらも人工知能の活用事例の一つです。

適切な生活習慣・運動習慣を提案するアプリが人気を集めている通り、ヘルスケア分野での活用も期待されています。

初心者がAIプログラマーになるには?

まず、AIの研究者とプログラマーは別物と考えましょう。研究者の目的は最新の人工知能技術を探究し、自社のシステムにどう取り込めばより良いものにできるかを考えることです。

実際の設計を誰が行うかは案件により異なりますが、AIプログラマーはこの設計に基づきコーディングを行うのが役割です。

もし研究者を目指したい場合は、今のところは大学に入り人工知能分野を専攻するほか道がありません。

初心者の状態からAIプログラマーになるにはもう少しハードルが低いです。主には下記のことに取り組むのが良いでしょう。

機械学習の基礎知識を身につける

AIの中核をなすのが機械学習なので、この基礎知識がなければ現場で会話が成り立ちません。

まずは初心者でも入り込みやすい書籍を読んで知識を身につけましょう。

おすすめは下記です。

人工知能は人間を超えるか(松尾豊、角川EPUB選書)

人工知能は人間を超えるか

AI研究の第一人者である松尾豊氏による「いま人工知能ができること、できないこと、これからできるようになること」を初心者にもわかりやすく説明した本です。

まずは人工知能と自分との距離を縮めるための導入としておすすめです。

見て試してわかる機械学習アルゴリズムの仕組み(秋庭伸也ほか、翔泳社)

見て試してわかる機械学習アルゴリズムの仕組み

機械学習にも様々なアルゴリズム(処理の考え方やその方法)があり、用途により向き不向きがあります。どのようなアルゴリズムがあって、動きがどう違うのかを説明した本です。

これは実際にプログラムを書きながら学ぶ前提となっているため、次項で述べる「Pythonスキル」を身につけた後に取り組むのが良いでしょう。

Pythonのスキルを身につける

言語を学ぶ人

GitHub公式ブログによりますと、GitHubで機械学習(”machine-learning”)というトピックでタグづけされたリポジトリのうち、最も多く使用されている言語はPythonです。

これは、多くの機械学習や統計処理に関する人気ライブラリがPythonのものであるためと想定されます。

C言語やJavaなどでも人工知能の実装は可能で、それぞれライブラリもありますすが、もはや人工知能といえばPythonというスタンダードが定着しているというのが業界の共通認識です。

そのため、新しく人工知能のための言語を学ぶならばPythonをおすすめします。

なお、ProglusでもPythonの講座を準備中です。受講可能となり次第、こちらでもお知らせいたします。

AI分野の資格を取得する

資格の獲得

必須ではありませんが、AI分野の資格を取得しておくとAIプログラマーの職を得るにあたって知識をアピールしやすいです。

E資格

E資格は、日本ディープラーニング協会が運営している認定試験です。同協会のAI資格にはもう一つ「G検定」がありますが、そちらがジェネラリスト(ビジネス寄り)向けの試験なのに対し、E資格はエンジニア向けの試験となっています。

受験には同協会が実施するJDLA認定プログラムの受講が必須です。

受講料やプログラムの受験料は決して安くはありませんが、AIに関して広く学びつつ資格も取りたい場合にチャレンジすると良いでしょう。

Pythonエンジニア認定データ分析試験

Pythonソフトウェア財団のスポンサーである一般社団法人Pythonエンジニア育成推進協会が主宰予定のPythonエンジニア認定データ分析試験は、Pythonを使ったデータ分析の基礎や方法を問う試験です。

まさに業務内容に直結したスキルのアピールになりますね。

現時点で試験はまだ準備中のため、要綱や実施時期については公式ページにて適宜確認してください。

まとめ

学習に励む女性

AIプログラマーの仕事内容と、初心者からAIプログラマーを目指すためにやるべきことについて紹介しました。

決して簡単な道ではありませんが、人材不足が深刻視されている分野ですので、チャンスは大いにあります。

次から次へと新技術が開発されるため、新しいことを楽しく学べる方にはおすすめの職業です。

我こそはという方は、ぜひチャレンジしてみてください。

動画で学ぶプログラミング入門

オンラインスクールProglus(プログラス)でプログラミングを学んで、創れる人になろう!

在宅学習応援!今なら複数の基礎コースが無料!!

今すぐ詳細を確認する

Filed Under: エンジニアへの道 Tagged With: AI, Python, プログラマー, 人工知能, 初心者, 機械学習

Amazon S3はどんな場面で使うの?優れたストレージサービスを活用しよう

2020-05-23 By プログラミング入門ナビ編集部

たくさんあるAWSサービスのなかでも、ぜひ押さえておきたいのがAmazon S3というストレージサービスです。今回はその特徴や、強みを発揮する利用方法などについて説明いたします!

Amazon S3とは?どんな特徴があるの?

Amazon S3(Simple Strage Service)とは、オブジェクトストレージサービスを指します。

オブジェクトストレージサービスというのは、オブジェクト単位で、ファイルを保存するサービスです。例を上げると、画像、動画、ログファイルなどのオブジェクトが最小単位になります。その一つ一つに、オブジェクトキー、つまりオブジェクト名が付与されます。

Amazon S3の特徴は、99.999999999% いわゆる、イレブン9の耐久性です。Amazon S3に1万個のオブジェクトを保存した場合、そのうちの1つが障害によって失われるのに平均で約1000万年掛かります。非常に高い耐久性を保持しています。

またもう一つの特徴に、高い拡張性があります。容量無制限、ファイル数無制限です。1オブジェクトあたり、最大5TB以下である必要があります。しかし、この5TB制限がネックになった経験は今のところありません。

Amazon S3はこんな利用がおすすめ!

  • 静的コンテンツのホスティング (例:画像、動画、静的なWebサイト)
  • ログの保管 (ウェブサーバログ、POSデータ)
  • データバックアップ
  • ビッグデータ分析ソリューションのデータレイク

ちなみに、データレイクというのは、構造化データや非構造化データを格納する場所のことを指します。

Amazon S3は、

  • 長期間保存する
  • 消えると困る
  • 大量・大容量
  • ファイルの一部を頻繁に書き換えない

上記のデータ保存に強みを発揮します。

Amazon S3の利用に向いていないのは、ファイルの一部を頻繁に編集するもの。例えば、テキストドキュメントで編集を頻繁に行うもの、ログファイルで1行ずつ追記していくものなどです。

ファイルに変更が加えられるとき、オブジェクト単位で再度アップロードする必要があるものも不向きです。差分で更新ができません。10万文字あって、1文字だけ編集したいときに、Amazon S3のオブジェクトの1部だけを書き換えることはできず、1文字だけ編集しただけなのに、ファイル全体をアップロードする必要があるものも向いていません。

Amazon S3の結果整合性とは?

Amazon S3は、結果整合モデルというデータ整合モデルを採用しています。データ読み込み後の書き込みに対して、結果整合性を提供しています。

どういうことかというと、新規登録したオブジェクトはすぐ参照できますが、それ以外の更新や削除に関しては、即時に反映されない場合があるということです。

Amazon S3を使うために覚えておくべき用語

Amazon S3を上手に使うために、構成要素をしっかりと押さえておきましょう。

  • バケット・・・オブジェクトの集合体。データを保存するバケツです。
  • バケット名・・・バケットにつけられた名前。AWSの中で一意。
  • オブジェクト・・・Amazon S3に格納されるデータそのもの。
  • オブジェクト名・・・オブジェクトにつけられた名前。
  • バージョンID・・・・バージョニングを有効にした場合のID
  • メタデータ・・・オブジェクトを管理するための情報 例)オブジェクト作成日時

ちなみに、「バケット名」 + 「オブジェクト名」 + 「バージョンID」で一意になります。

まとめ

Amazon S3は、高い耐久性・拡張性が特徴的なトップクラスのストレージサービスです。ファイルのバックアップだけではなく、データ分析などにも利用できます。無料枠の提供もありますので、ぜひ活用してみてください。

動画で学ぶプログラミング入門

オンラインスクールProglus(プログラス)でプログラミングを学んで、創れる人になろう!

在宅学習応援!今なら複数の基礎コースが無料!!

今すぐ詳細を確認する

Filed Under: ツールの使い方

Unityエンジニアになるには?未経験でもなれる?スキルの身につけ方を解説!

2020-05-19 By プログラミング入門ナビ編集部

ゲーム開発者

はじめに

ゲーム開発者

エンジニアを目指すようになるきっかけは人それぞれです。

中には、もともとゲームが大好きでゲーム開発のできるエンジニアになりたいと考えている方もいらっしゃるかもしれません。

ゲームの開発にはUnityというものが必要と聞いたけど、何のことだろう?Unityを使えるエンジニアになるには何をすればいいの?

この記事ではそんな疑問について解説します。

未経験の場合でもゲームを好きな気持ちがあれば比較的習得しやすいスキルなので、興味を持つきっかけになれば幸いです。

動画で学習する

ぜひチャンネル登録お願いします!

Unityとは

Unityトップ画面

Unityは統合開発環境を内蔵したゲームエンジンのことです。ゲームを作るための開発ツールと、作ったゲームを実際に動かすための仕組みがセットになったソフトウェアと考えてください。

マルチプラットフォームなので、スマートフォン向け・パソコン・ゲーム機など様々な環境上で動くゲームを開発することができます。

また、実行環境だけでなく開発環境もマルチプラットフォーム対応しており、Windows・macOS・Linuxの全てで開発可能です。

これがUnityの最大の利点であり、ここまで普及した理由といっても過言ではありません。

Unity以前ならば、あるゲーム機向けの開発用に特別な環境を用意し、苦労して開発を進めやっと完成しても次は別の機種向けに別の環境セットアップから…と気の遠くなる作業でした。

Unityならば同じ環境で開発できるだけでなく、別のハードウェア向けにコードも再利用できるのでそんな悩みとも無縁ですね。

Unityでできること

スマートフォンゲームでの対戦

「ゲームエンジン」と呼ばれていることからも明らかなように、用途の大部分はゲーム開発です。

iOS・Android向けのスマートフォンゲームや、PlayStation・Nintendo Switch等のゲーム機向けのゲームを開発することができます。

また、AmazonのKindleアプリ用のゲームも開発可能です。まさに何でもできてしまいますね。

任天堂は個人の開発者向けにもゲーム配信プラットフォームを解放しているので、個人のレベルでどんなゲームが作れるのか見てみるのも参考になるでしょう。

Nintendo Developer Portal

Unityエンジニアになるには

ゲームデザイナー

Unityエンジニアになるには、まずはスキルを身に付けて、自分の作品を作ってみるのが一番の近道です。

公式マニュアルには、セットアップ方法から仕様まで豊富な情報が掲載されています。従来英語のみ対応でしたが、徐々に日本語で閲覧できるページも増えてきました。

Unityには様々なバージョンがあり、仕様もマニュアルも異なります。マニュアルの対応バージョンはサイト内で変更できるようになっているので、もし使用したいバージョンが決まっている場合は忘れずに選択しましょう。

※最新バージョンは日本語訳に未対応の場合もあります。翻訳版が公開されるのを待つか、英語版を参照しましょう。

環境のセットアップ

コーディング画面

必要な環境条件はマニュアルを参照しましょう。Unityバージョンごとに確認が必要ですが、概ね下記以上のスペックのパソコンを準備すれば開発を始められます。

macOSの場合

  • OSバージョン:High Sierra 10.13以上
  • CPU:X64アーキテクチャ(SSE3命令セット対応)
  • GPU:Metal対応

Windowsの場合

  • OSバージョン:Windows7以上(64bitのみ)
  • CPU:X64アーキテクチャ(SSE3命令セット対応)
  • GPU:DX10/DX11/DX12対応

必要な言語スキル

実はUnityではプログラミング言語なしでもある程度開発できます。

例えば、オブジェクトやキャラクターを動かしたい場合は、画面上で直感的に操作して動きをつけることが可能です。

より細かい動きや複雑な操作をする際にはプログラミング言語を使ったコーディングが必要になります。

UnityはC#とJavaScriptに対応しており、現場で使用されることが多いのはC#です。

Unity上で使用するJavaScriptについては、Unity独自拡張があるためそれを覚える必要がありますが、覚えてしまえばかなりクイックに実装できます。

学習コンテンツ

Unity Learnの画面

Unityでは公式に Unity Learn という学習プラットフォームを運営しており、サインアップすることで有料・無料の学習コンテンツにアクセス可能です。

プレミアムプランに加入すると全てのコンテンツが受講できるほか、わからないことがあったときにサポートを受けられます。

コンテンツはレベルに合わせて初級・中級・上級の仕分けがされており、学習時間も数分から数十時間に渡るものまで様々です。

自分の習熟度や割ける時間に合わせて選べるのが便利ですね。

まとめ

パソコンの前で考える女性

Unityエンジニアになるために必要なスキルの身につけ方を紹介しました。

最初はコーディングに打ち込むよりもどんどんUnityを触って楽しく動かし方を覚えていくのがおすすめです。

まずはご紹介したUnity Learnでお気に入りのチュートリアルを見つけて実践してみてはいかがでしょうか。

動画で学ぶプログラミング入門

オンラインスクールProglus(プログラス)でプログラミングを学んで、創れる人になろう!

在宅学習応援!今なら複数の基礎コースが無料!!

今すぐ詳細を確認する

Filed Under: エンジニアへの道 Tagged With: Unity, エンジニア, 未経験

  • « Go to Previous Page
  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to page 4
  • Go to page 5
  • Interim pages omitted …
  • Go to page 12
  • Go to Next Page »

Primary Sidebar

Twitter

Follow @programmingnavi Tweets by programmingnavi

Facebookページ

プログラミング入門ナビ

メルマガに今すぐ登録!

ブログの更新情報やお得なクーポン情報などをお知らせします。

登録はこちらから。

人気の記事

まだデータがありません。

最近の投稿

  • 【7/9更新】Udemyプログラミング入門講座等の割引クーポン配布
  • JavaScriptの「this」は呼び出し方によって値が変わる?違いを徹底解説!
  • JavaScriptのfor文で配列要素の足し算をするとNaNが出るのはなぜ?原因と対処法を解説!
  • プログラミング学習を成功させるポイントを3つお送りいたします
  • 初心者がスマホアプリを開発するには?iOSとAndroidの両方について必要なスキルを確認しよう

カテゴリー

  • エンジニアのしごと
  • エンジニアへの道
  • ツールの使い方
  • ニュース
  • プログラミング入門

タグクラウド

AI AWS AWS Cloud9 Bootstrap Cloud9 CodeWing CSS Git GitHub Heroku HTML JavaScript Linux macOS MySQL MySQL Workbench node.js Nuxt.js Proglus Python Ruby Ruby on Rails SQL Udemy Vue.js Web開発 Windows Windows10 エラー エンジニア オンライン学習 サーバ サーバー スクリーンショット セキュリティ セール データベース プログラミング プログラミング入門 プログラミング学習 ユーデミー 初心者 未経験 機械学習 開発環境構築

アーカイブ

  • 2020年7月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年11月
  • 2019年9月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月

検索

Copyright © 2025 · programmingnavi.com ・About・プライバシーポリシー