AI(人工知能)は、機械学習やデータマイニングなどの技術を使って、コンピューターに知能を与えることができます。機械学習は、大量のデータを用いてコンピューターにパターンを学習させることで、予測モデルを作成する技術です。データマイニングは、大量のデータから知識を抽出するための技術で、機械学習によるモデルの作成に欠かせない技術の一つです。

以下に、AIに関する参考になるサイトの特徴をまとめた表を用意しました。

タイトル 特徴 リンク
TensorFlow Googleが開発したオープンソースの機械学習ライブラリ。高度なニューラルネットワークの構築が可能。 https://www.tensorflow.org/
PyTorch Facebookが開発したオープンソースの機械学習ライブラリ。Pythonでの開発が容易。 https://pytorch.org/
Keras ニューラルネットワークの高レベルAPIを提供するオープンソースライブラリ。初心者でも扱いやすい。 https://keras.io/
scikit-learn Pythonで利用可能なオープンソースの機械学習ライブラリ。機械学習の基礎的な手法を網羅している。 https://scikit-learn.org/stable/
IBM Watson IBMが提供するAIプラットフォーム。自然言語処理や音声認識、画像解析などの機能を提供する。 https://www.ibm.com/watson
Microsoft Azure Microsoftが提供するクラウドベースのAIサービス。機械学習やデータ解析、自然言語処理などの機能を提供する。 https://azure.microsoft.com/ja-jp/services/machine-learning/
Google Cloud AI Platform Googleが提供するクラウドベースの機械学習サービス。機械学習モデルのトレーニングやデプロイメントを簡単に行うことができる。 https://cloud.google.com/ai-platform
OpenAI AIの研究・開発を行う非営利団体。機械学習や自然言語処理による高度なAI技術を提供する。 https://openai.com/
NVIDIA GPU Cloud NVIDIAが提供するクラウドベースのAIサービス。機械学習やディープラーニングに最適なGPUを提供する。 https://www.nvidia.com/ja-jp/gpu-cloud/
IBM Watson Studio IBMが提供する機械学習用の開発環境。PythonやRなどのプログラミング言語に対応し、多数の機能を提供する。 https://www.ibm.com/jp-ja/cloud/watson-studio
Hugging Face 自然言語処理に特化したオープンソースのライブラリ。高度なNLPモデルの開発が可能。 https://huggingface.co/
Amazon SageMaker Amazonが提供する機械学習のためのクラウドサービス。機械学習のトレーニングやデプロイメントを簡単に行うことができる。 https://aws.amazon.com/jp/sagemaker/

これらのサイトは、それぞれ特徴的な機能を備えています。例えば、TensorFlowは高度なニューラルネットワークの構築が可能な機械学習ライブラリであり、IBM Watsonは自然言語処理や音声認識、画像解析などの機能を提供するAIプラットフォームです。

これらのサイトを比較することで、自分が開発したいAIアプリケーションに適したライブラリやプラットフォームを見つけることができます。

専門用語

専門用語 意味
クラウド インターネット上にあるサーバーやストレージなどのコンピュータリソースを利用すること
バックエンド ウェブアプリケーションの裏側で動くサーバーサイドの処理やデータベースなどの技術
フロントエンド ウェブアプリケーションのユーザーインターフェースやクライアントサイドの処理などの技術
データベース データを集積・管理するための仕組みやツールのこと
SQL データベースの操作言語の一つ。データの追加・更新・削除や検索などを行う
AI 人工知能のこと。機械学習やデータマイニングなどの技術を使って、コンピュータが人間のような知能を持つようにする
機械学習 コンピュータがデータから自動的に学習し、問題解決のためのモデルを作成する技術
データサイエンティスト データ解析や機械学習の専門家
モノリシックアプリケーション アプリケーション全体が一つの巨大なコードで構成されているアーキテクチャ
コンテナ アプリケーションを実行するための独立した環境。Dockerなどで使われている
DevOps 開発と運用の融合を促進する文化やプラクティス
UXデザイン ユーザーエクスペリエンスデザインの略。ユーザーがアプリケーションを利用する際の体験を設計すること
アジャイル開発 ソフトウェア開発の手法の一つ。短い期間で開発を進め、途中での変更に対応する柔軟性がある
オブジェクト指向 ソフトウェアの設計手法の一つ。概念やデータを「オブジェクト」として扱い、それらを組み合わせてアプリケーションを構築する
クラス オブジェクト指向のプログラミング言語において、オブジェクトの設計図的な役割を持つ概念
インスタンス クラスを実体化したもの。オブジェクトとも呼ばれる
メソッド クラスが持つ関数のこと。オブジェクトに対して実行される
API アプリケーション間でデータをやりとりするための仕組み。外部に公開されることが多い
REST Representational State Transferの略。Web APIの設計手法の一つ。HTTPメソッドを使ってリソースを操作する
リファクタリング コードの品質を向上させるために、機能に変更を加えずにコードの構造を改善すること
コードレビュー 開発者以外の人がコードを見て、品質やバグの発見などを行うこと
プルリクエスト コードをリポジトリにマージする前に、他の開発者に対して変更のレビューを依頼すること
Git バージョン管理ツールの一つ。ソースコードなどの変更履歴を管理する
ブランチ Gitにおいて、開発を分岐して行うための独立した作業領域
マージ Gitにおいて、ブランチから別のブランチに変更内容を取り込むこと
GitHub Gitを利用したWeb上でのソースコード管理サービス
セキュリティ コンピュータシステムや情報を不正アクセスや攻撃から守るための技術や手法
脆弱性 セキュリティ上の欠陥や弱点のこと。攻撃者によって利用されることがある
ペネトレーションテスト セキュリティの評価手法の一つ。システムやアプリケーションに対して攻