#author("2021-09-01T10:54:45+00:00","default:mizutu","mizutu")
#author("2021-12-21T01:32:28+00:00","default:mizutu","mizutu")
[[AI推進準備室]] > AIGlossary

* AI 用語集 [#bdb1f55d]
#contents
RIGHT:&size(12){※ 最終更新:2021/09/01 };
RIGHT:&size(12){※ 最終更新:2021/12/23 };

** 用語の解説と参考サイト [#aeec2c03]

*** ABテスト [#n288f424]
- ABテストとは、A案とB案を用意し、より反応の良い方を採用する方法。~
- Webマーケティングにおける手法の一つ。~

- 参考サイト~
-- [[ABテストとは?実施方法やメリット・注意点などを解説>+https://wacul-ai.com/blog/site-improvement/method/ab-test/]]~

*** annotation【アノテーション】 [#z4f15213]
- 機械学習において、データにメタデータをつけて意味づけをすることを指す。~
- 膨大なデータに対して、アノテーションを行い、正解のデータ(=教師データ)を付与することで、機械学習のモデルの何が正しいものかを判断できる。~

- 参考サイト~
-- [[アノテーションとは AI・機械学習に必須の知識を解説>+https://ainow.ai/2021/02/01/251956/]]~
-- [[【簡単】LabelImg(アノテーションツール)のインストール>+https://self-development.info/%E3%80%90%E7%B0%A1%E5%8D%98%E3%80%91labelimg%EF%BC%88%E3%82%A2%E3%83%8E%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%84%E3%83%BC%E3%83%AB%EF%BC%89%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88/]]~

*** bandit algorithm【バンディットアルゴリズム】 [#y7b56e7a]
- 複数案から最適なものを一つ選ぶとき、実際に試行して最適化するためのアルゴリズム。~
- 「ワンアームド・バンディット」という別称を持つスロットマシンがその語源で、「スロットマシンが複数台あるとき、限られたコインをどの台にどれだけ使えば最大の成果が得られるか」を計算する手法として、1950年代から研究が始まったとされている。~

- 参考サイト~
-- [[バンディッドアルゴリズム>+https://www.otsuka-shokai.co.jp/words/bandit-algorithms.html]]~
-- [[バンディットアルゴリズム デジタル大辞泉の解説>+https://kotobank.jp/word/%E3%83%90%E3%83%B3%E3%83%87%E3%82%A3%E3%83%83%E3%83%88%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0-2122232]]~

*** batch size【バッチサイズ】 [#t48cd780]
- データセットを幾つかのサブセットに分けたぞれぞれのサブセットに含まれるデータの数。~

- 参考サイト~
-- [[機械学習/ディープラーニングにおけるバッチサイズ、イテレーション数、エポック数の決め方>+https://qiita.com/kenta1984/items/bad75a37d552510e4682]]~
-- [[【ミニバッチ学習と学習率】低バッチサイズから始めよ>+https://dajiro.com/entry/2020/04/15/221414]]~

*** classification【分類】 [#z6c86b12]
- 分類(classification)とは、機械学習においては、離散的な入力値を、事前に定義された複数のクラスに分類することを指す。~
- 離散的な入力値とは、例えば画像からの犬猫判定を考えると、動物の顔の特徴(耳/目/鼻/口など)を何らかの方法で数値化してグラフ上に点としてプロットすると、線状ではなく、ばらばらの点々になってしまうようなデータのこと。この場合は、「犬の点の集まり」や「猫の点の集まり」の中間に境界線を引いて(=学習できる)区分けすることで、犬猫判定の分類が実現できる。~

- 参考サイト~
-- [[分類(classification)とは?>+https://atmarkit.itmedia.co.jp/ait/articles/1901/06/news030.html]]~

*** clustering【クラスタリング】 [#c95b1c94]
- データ間の類似度にもとづいて、データをグループ分けする手法。~
- クラスタリングによってできた、似たもの同士が集まったグループのことをクラスタと呼ぶ。~

- 参考サイト~
-- [[クラスタリングとは | 概要・手順・活用事例を紹介>+https://ledge.ai/clustering/]]~

*** CNN【畳み込みニューラルネットワーク】 [#c2546b9a]
- 畳み込みニューラルネットワーク(CNN)は畳み込み層とプーリング層が積み重なったニューラルネットワークのこと。~

- CNN の例~
#ref(cnn_01m.png,left,around,50%,cnn_01m.png)
#clear

- 参考サイト~
-- [[畳み込みニューラルネットワーク(CNN)をなるべくわかりやすく解説>+https://ai-antena.net/ai-cnn]]~
-- [[レクチャー:畳み込みニューラルネットワークの概要>+https://youtu.be/ujrSUsCq-08]]~

*** Data Augmentation【水増し】 [#q7923bd2]
- 元の学習データに変換を加えてデータ量を増やすテクニックで、特にCNN(畳み込みニューラルネットワーク)などを使った画像処理で効果を発揮する。~

- 参考サイト~
-- [[水増しと転移学習 (Vol.7)>+https://products.sint.co.jp/aisia/blog/vol1-7]]~
-- [[データが足りないなら増やせば良いじゃない。>+https://qiita.com/cvusk/items/aa628e84e72cdf0a6e77]]~

*** epoch数【エポック数】 [#b4d147d9]
-「一つの訓練データを何回繰り返して学習させるか」の数のこと。~

- 参考サイト~
-- [[エポック(epoch)数とは>+https://www.st-hakky-blog.com/entry/2017/01/17/165137]]~
-- [[【初心者】ネコでも分かる「学習回数」ってなに?>+https://zenn.dev/nekoallergy/articles/5c9c4ad0657073]]~

*** Faster R-CNN [#ma54cbcf]
- 2015年にMicrosoftが発明した物体検出アルゴリズム。Deep LearningによるEnd-to-Endな実装に初めて成功している。~

- STEP1: ある矩形の中身が物体なのか背景( = 何も写っていない)なのかを学習する~
Resion Proposal Network(RPN)と呼ばれるCNN構造を用い Deep Learningによって実装~
- STEP2: STEP1で検出した場所に、具体的に何が写っているのかを学習する。~

- 参考サイト~
-- [[Faster R-CNNにおけるRPNの世界一分かりやすい解説>+https://medium.com/lsc-psd/faster-r-cnn%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8Brpn%E3%81%AE%E4%B8%96%E7%95%8C%E4%B8%80%E5%88%86%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%84%E8%A7%A3%E8%AA%AC-dfc0c293cb69]]~

*** Fine Tuning【ファインチューニング】 [#f61ebfb5]
- 訓練済のモデルを各タスクに合わせて調整するように訓練すること。~
- ファインチューニングにおいて、既存の学習済モデルは、「特徴抽出器」として用いられ、パラメータの更新はされない。~
- 出力側に追加した層のパラメータが更新され、学習が行われる。~

- 参考サイト~
-- [[【自然言語処理】ファインチューニング(Fine-Tuning)とは何か>+https://omathin.com/what-is-fine-tuning/]]~

*** FNN【フィードフォワード・ニューラルネットワーク】 [#b92457a6]
- ディープラーニングで用いられるニューラルネットワークは、大きく分けて二つあるうちの一つ。~
- FNNは日本語で「順伝播型ニューラルネットワーク」とも訳され、入力層で受け取ったデータが出力層へ向け、一方通行で処理されていくのが特徴。~
- 上位の隠れ層から下位の隠れ層に、順番にデータが受け渡されていく事から「順伝搬型」と名付けられている。~

- 参考サイト~
-- [[ディープラーニングとは?できること・仕組み・アルゴリズム・実用例>+https://www.bigdata-navi.com/aidrops/1538/]]~

*** garbage collection; GC【カベージコレクション】 [#t05d6a94]
- コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能。~

- 参考サイト~
-- [[ガベージコレクション>+https://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3]]~

*** HDF5 [#zf5ffb6c]
- Hierarchical Data Format(階層的データ形式、略称:HDF)は、大量のデータを格納および構造化するために設計された一連のファイル形式(HDF4、HDF5)。~
- 米国立スーパーコンピュータ応用研究所で開発され、非営利法人である HDF グループによってサポートされている。~
- HDFグループは、HDF5 テクノロジーの継続的な開発と HDF で保存されたデータの継続的なアクセスを確保することを使命としている。~

- 参考サイト~
-- [[Hierarchical Data Format>+https://ja.wikipedia.org/wiki/Hierarchical_Data_Format]]~
-- [[Kerasで学習済みディープラーニングモデルを保存・読込みする方法【Tensorflow】>+https://ebi-works.com/keras-save/]]~

*** IoU(Intersection over Union)【アイオーユー】 [#bcda61f3]
- Intersection(領域の共通部分) over Union(領域の和集合)の略。~
- 2つの領域が「どれくらい重なっているか」を表す指標。~

- 参考サイト~
-- [[IoU(評価指標)の意味と値の厳しさ>+https://mathwords.net/iou]]~

*** Keras【ケラス】 [#n776c342]
- TensorFlowの上で実行可能な高水準のニューラルネットワークライブラリ。~
- 迅速な実験を可能にすることに重点を置いて開発されたため、簡単なPythonのコードで多くのモデルを素早く実装できる。~
- ディープラーニングの初心者が実装を始めるには最も適したライブラリ。

- 参考サイト~
-- [[Keras とは?>+https://openstandia.jp/oss_info/keras/]]~

*** ILSVRC [#ba46dcbb]
- コンピュータによる画像認識技術に関するコンペティション形式の研究集会。~
- ILSVRCは、ImageNet Large Scale Visual Recognition Challengeの略。~
- 大規模な画像データセットImageNetを保有する組織が提唱し、2010年から始まった。~
- スタンフォード大学やプリンストン大学などが運営にかかわる。~

- 参考サイト~
-- [[ILSVRC(コトバンク)>+https://kotobank.jp/word/ILSVRC-2131832]]~

*** Inception Resnet V2 [#d373a580]
- Inception-ResNet-v2 は、ImageNet データベース [1] の 100 万枚を超えるイメージで学習済みの畳み込みニューラル ネットワーク。~
- このネットワークは、深さが 164 層であり、イメージを 1000 個のオブジェクト カテゴリ (キーボード、マウス、鉛筆、多くの動物など) に分類できる。~
- 結果として、このネットワークは広範囲のイメージに対する豊富な特徴表現を学習している。~
- ネットワークのイメージ入力サイズは 299 x 299。~

- 参考サイト~
-- [[inceptionresnetv2>+https://jp.mathworks.com/help/deeplearning/ref/inceptionresnetv2.html;jsessionid=3cbf758accb3c682a299f0bd489d]]~

*** LabelImg [#q4031c73]
- LabelImgは、グラフィカル画像アノテーションツール。~
- Pythonで書かれており、GUIとして Qtを使用している。~
- アノテーションは、ImageNetで使用される形式であるPASCAL VOC形式で XMLファイルとして保存される。~

- 参考サイト~
-- [[labelImg – 🤘画像の注釈ツール>+https://githubja.com/tzutalin/labelimg]]~
-- [[labelImgとChainerCVを使ってアノテーション作業を楽にする>+https://qiita.com/wakaba130/items/e86109b3cbd1b0dde902]]~

*** mAP(mean Average Precision)【平均平均精度】 [#w3ba41eb]
- 検出した物体の分類があっているか(画像が「犬」のとき物体認識結果も「犬」となっているか)の程度を示す指標で、 数値が大きいほど精度が高くなる。~
- 参考サイト~
-- [[MAP(Mean Average Precision)という指標の意味>+https://mathwords.net/meanap]]~

*** Monte Carlo method【モンテカルロ法】 [#f07f7096]
- 数値計算手法の一つで、乱数を用いた試行を繰り返すことにより近似解を求める手法。~
- ある事象をモデル化した数式や関数があるとき、その定義域に含まれる値をランダムにたくさん生成して実際に計算を行い、得られた結果を統計的に処理することで推定値を得ることができる。~
- 数式を解析的に解くのが困難あるいは不可能な場合でも数値的に近似解を求めることができる。

- 参考サイト~
-- [[モンテカルロ法 【Monte Carlo method】>+https://e-words.jp/w/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%AB%E3%83%AB%E3%83%AD%E6%B3%95.html]]~
*** Pillow 【ピロー】/ PIL / Python Imaging Library 【ピー・アイ・エル】 [#ddd0bdf8]
- Python Imaging Library(略称 PIL)は、プログラミング言語Pythonに、各種形式の画像ファイルの読み込み・操作・保存を行う機能を提供するフリーのライブラリ。~

- 参考サイト~
-- [[Pillow オフィシャルサイト>+https://python-pillow.org/]]~
-- [[Pillow ドキュメント>+https://pillow.readthedocs.io/en/stable/index.html]]~
-- [[Python Imaging Library>+https://ja.wikipedia.org/wiki/Python_Imaging_Library]]~

*** pytesseract「Python Tesseract」 [#i5a0b655]
- Python-tesseractは、Python用の光学式文字認識(OCR)ツール。画像に埋め込まれたテキストを認識する。~

- Python-tesseractは、 GoogleのTesseract-OCR Engineのラッパー。 jesseg、png、gif、bmp、tiffなどの Python Imaging Libraryでサポートされているすべてのイメージタイプを読み取ることができる。~

- 参考サイト~
-- [[pytesseract – Google TesseractのPythonラッパー>+https://githubja.com/madmaze/pytesseract]]~
-- [[pytesseract 概要と使い方 メモ>+https://qiita.com/KWS_0901/items/26df569fd3b98ca96c54]]~

*** regression【回帰】 [#m535168a]
- 回帰(regression)とは、機械学習においては、連続する入力値に対する次の値を予測することを指す。~

- 参考サイト~
-- [[回帰(regression)とは?>+https://atmarkit.itmedia.co.jp/ait/articles/1901/06/news048.html]]~

*** RNN【カレント・ニューラルネットワーク】 [#j7c4de04]
- ディープラーニングで用いられるニューラルネットワークは、大きく分けて二つあるうちの一つ。~
- 日本語では「再帰型ニューラルネットワーク」と呼ばれる。~
- 隠れ層内をデータが行ったり来たりして処理されていくのが特徴で、出力したいデータが時系列を持っていたり、データの大きさが一定で無い場合、FNNより対応しやすいのが特徴。~

- 参考サイト~
-- [[ディープラーニングとは?できること・仕組み・アルゴリズム・実用例>+https://www.bigdata-navi.com/aidrops/1538/]]~

*** Reinforcement Learning【強化学習】 [#n361e4fd]
- 機械学習の一種であり、コンピューター エージェントが動的環境と、繰り返し試行錯誤のやりとりを重ねることによってタスクを実行できるようになる手法。~
- 試行錯誤を通じて「価値を最大化するような行動」を学習するもの。~
- 囲碁や将棋といったゲームは、本質的に将来の価値(つまり今その手を打つことにより、最終的に勝つのか負けるのか)を最大化することが目的なので、強化学習とは相性が良い問題である。~

- 参考サイト~
-- [[強化学習 これだけは知っておきたい 3 つのこと>+https://jp.mathworks.com/discovery/reinforcement-learning.html]]~
-- [[強化学習入門 ~これから強化学習を学びたい人のための基礎知識~>+https://blog.brainpad.co.jp/entry/2017/02/24/121500]]~

*** RPA(Robotic Process Automation) [#s9bd2a8d]
- ロボティックプロセスオートメーション(Robotic Process Automation)、通称RPAは、これまで人間のみが対応可能と想定されていた作業、もしくはより高度な作業を、人間に代わって実施できるルールエンジンやAI、機械学習等を含む認知技術を活用して代行・代替する取り組み。~

- 参考サイト~
-- [[用語解説 RPA>+https://www.nri.com/jp/knowledge/glossary/lst/alphabet/rpa]]~

*** Supervised/Unsupervised Learning【教師あり学習/教師なし学習】 [#d4716eaa]
- 教師あり学習では、人間があらかじめ付けた正解のラベルに基づき、機械が学習を行い、データセットに対する応答値の予測を行うモデルを構築する。~
- 教師なし学習では、入力データのみがあり、ペアとなる正解のデータは存在しない。
ゴールは、データに対する理解を深めるためにデータの基本的な構造や分布をモデル化すること。~
#ref(ailearn01m.png,left,around,50%,ailearn01m.png)
#clear

- 参考サイト~
-- [[【機械学習入門】教師あり学習と教師なし学習>+https://avinton.com/blog/2017/11/supervised-and-unsupervised-machine-learning/]]~
-- [[GAN:敵対的生成ネットワークとは何か ~「教師なし学習」による画像生成>+https://www.imagazine.co.jp/gan%EF%BC%9A%E6%95%B5%E5%AF%BE%E7%9A%84%E7%94%9F%E6%88%90%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B%E3%80%80%EF%BD%9E%E3%80%8C%E6%95%99%E5%B8%AB/]]~

*** Tensor【テンソル】 [#n40daaf6]
- ベクトルの考え方を拡張したもので、数学、とくに幾何学や、物理学で重要な働きをする概念。~
- 張力tensionに由来することば。~
- ベクトル・行列・内積といえば、代表的な基本的概念である。~

- 参考サイト~
-- [[テンソルとは『コトバンク』>+https://kotobank.jp/word/%E3%83%86%E3%83%B3%E3%82%BD%E3%83%AB-102530]]~
-- [[テンソル『ウィキペディア(Wikipedia)』>+https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%B3%E3%82%BD%E3%83%AB]]~

*** Tensorflow【テンソルフロー】 [#ddef8ff3]
- TensorFlow(テンソルフロー、テンサーフロー)とは、Googleが開発しオープンソースで公開している、機械学習に用いるためのソフトウェアライブラリ。~

- 参考サイト~
--[[TensorFlow>+https://ja.wikipedia.org/wiki/TensorFlow]]~
-- [[TensorflowとKeras、PyTorchの比較>+https://www.tdi.co.jp/miso/tensorflow-keras-pytorch]]~

*** Tcl/Tk 【ティクル・ティーケー】/ Tk【ツールキット】 [#f030a2b1]
- Tcl/Tk(ティクル・ティーケー)は、スクリプト言語 Tcl と、その GUIツールキット Tk を指す。~
- 非常に強力な GUI ツールキットと、シンプルな文法をもつ言語により、GUI ツールを素早く作り上げるのに適した強力なスクリプティング環境。~
- Tkは、GUIを開発するための、オープンソースの、クロスプラットフォームのウィジェット・ツールキット。~

- 参考サイト~
-- [[Tcl/Tk>+https://ja.wikipedia.org/wiki/Tcl/Tk]]~
-- [[Tk (ツールキット)>+https://ja.wikipedia.org/wiki/Tk_(%E3%83%84%E3%83%BC%E3%83%AB%E3%82%AD%E3%83%83%E3%83%88)]]~

*** Tkinter [#v44cc744]
- PythonでGUIを組むことのできるツールキットのこと。~
- Tcl/Tk の Tk 部分を Python で利用できるようにしたもので、使い方も可能な限り Tcl/Tk にあわせられるように作られている。~

- 参考サイト~
-- [[PythonのTkinterを使ってみる>+https://qiita.com/nnahito/items/ad1428a30738b3d93762]]~
-- [[Tkinter>+https://ja.wikipedia.org/wiki/Tkinter]]~

*** Transfer learning【転移学習】 [#md7094e7]
- 転移学習とは、効果的な仮説を効率的に見つけ出すために、別のタスクで学習された知識を転移する機械学習の手法である。~
- 転移学習に学習済みモデルを転用することで、大量のデータと学習にかかる時間を削減することができる。~
- 転移学習では既存の学習済みモデルのデータは変更せず、新たに追加したモデルのデータのみ学習する。~

- 参考サイト~
-- [[転移学習とは?ファインチューニングとの違いや活用例をご紹介>+https://i-common.jp/column/corporation/transfer-learning/]]~

*** Triplet loss [#la45b271]
- トリプレット損失は、ベースライン入力が正の入力および負の入力と比較される機械学習アルゴリズムの損失関数。ベースライン入力から正の入力までの距離が最小化され、ベースライン入力から負の入力までの距離が最大になる。(ウイキペディア)

- 参考サイト~
--[[Deep Metric Learning の定番⁈ Triplet Lossを徹底解説>+https://qiita.com/tancoro/items/35d0925de74f21bfff14]]~
-- [[Triplet lossを使った高速な異常検知>+https://qiita.com/koshian2/items/b4c4ffda99c07a1ac6b8]]~

*** VGG16 [#y7a3b4aa]
- VGG16というのは,「ImageNet」と呼ばれる大規模画像データセットで学習された16層からなる CNNモデル。Oxford 大学の研究グループが提案し2014年のILSVRで好成績を収めた。16層からなる CNNモデルには、(224×224)の入力サイズのカラーチャネルの入力層と1000クラス分類の出力層を含み様々な研究に使用されている。~
- 名前の由来は、VGGチームが作った、畳み込み13層+全結合層3層=16層のニューラルネットワークということで、VGG-16となっているそうな。~

- モデルイメージ~
#ref(vgg16_01m.jpg,left,around,50%,vgg16_01m.jpg)
#clear

- 参考サイト~
-- [[VGG16モデルを使用してオリジナル写真の画像認識を行ってみる>+https://newtechnologylifestyle.net/vgg16originalpicture/]]~
-- [[Keras:VGG16、VGG19とかってなんだっけ??>+https://qiita.com/MuAuan/items/86a56637a1ebf455e180]]~

#br

** 更新履歴 [#eb95c496]
- 2021/09/01 初版
#br

* 参考資料 [#d26c4289]
- [[Pytorch – 学習済みモデルで画像分類を行う方法>+https://pystyle.info/pytorch-how-to-use-pretrained-model/]]~
- [[PyTorchの学習済みモデルで画像分類(VGG, ResNetなど)>+https://note.nkmk.me/python-pytorch-pretrained-models-image-classification/]]~
- [[TensorflowとKeras、PyTorchの比較>+https://www.tdi.co.jp/miso/tensorflow-keras-pytorch]]~
- [[Scikit-learnの基本的な使用方法>+https://data-science.gr.jp/implementation/iml_sklearn_basic_usage.html]]~
- [[総務省 ICTスキル総合習得教材>+https://www.soumu.go.jp/ict_skill/pdf/ict_skill_3_5.pdf]]~

- [[ディープラーニングによる画像認識の仕組みを徹底解説>+https://ai-kenkyujo.com/imagerecognition/]]~
- [[ディープラーニングとは?できること・仕組み・アルゴリズム・実用例>+https://www.bigdata-navi.com/aidrops/1538/]]~

#br