人工知能/機械学習/データサイエンス関連関連用語集
Ablation study(アブレーションスタディ、アブレーション研究)
モデルを構成する要素を敢えて削除してその要素がモデルの性能にどのような貢献をしているのかを評価をする事
AI alignment issues(AIアライメントイシュー、AIの同調問題)
AIが人間の指示を人間が思ってもいなかった方法で実行してしまうリスクの事。例えば、「対戦ゲームをやらせたら、負けそうになったらポーズする事を学習してしまった」等、人間の指示には確かに従っているけれども人間の倫理や行動規範からは不正やズルと見なされる予想外の行動をAIが取る可能性があります。これはAIと人間が同調出来ていない事が原因ですが、昔であれば笑い話で済みましたが、GPT-4などの高性能言語モデルの出現により人類の存続の危機に繋がりかねない問題として認識され始めています。例えば、人間と倫理観を同調していない超人工知能が仮に実現した後「自然環境を回復させたい」と指示を受けた超人工知能は効率的に人類を抹殺する計画を立案して実行する可能性があるというちょっと前でしたらSFレベルと見なされていた話が真剣に検討されはじめています。
Annotation(アノテーション、注釈)
データセット内の各事例に対して、事例の内容を説明するために付与する説明の事。日本語訳する際は「ラベル」とした方がわかりやすいのですが、英語圏ではlabelとannotationは意識的な使い分けがされている場合があるので注意が必要です。具体的には「何かを分類するシステムの出力」の事をlabelと表記している場合があります。例えば「鳥の種類を判別する人工知能をannotationが付与された鳥画像データセットを使って学習をさせた後、不明な鳥画像を与えて分類させたところlabelとして3が出力された。label 3はclass「鶏」を表す」などです。しかし、特に使い分けせずにannotationをlabelとしているケースもあります。
Attention(アテンション、注意)
Attentionはモデルが重要な情報に注意(Attention)を払う事が出来るようにする仕組み。これにより重要度が低い情報にリソースを割かなくなるので効率が上昇します。技術的には、機械学習モデルが「様々な入力に様々な重みを割り当てる方法」を学習する事です。人工知能はAttentionの仕組みが発明された後に急速に進化しました。
Bias-Variance Tradeoff(偏りと分散のトレードオフ)
機械学習モデルを望ましい学習状態に保つための均衡の事。数学用語なので単語が持つ本来の意味はあまり気にしないで以下を丸覚えしましょう。
「偏り(Bias)」とはモデルが予測した値と本当の値のズレの事
つまり「偏り」が大きいとは予測が外れている事なので、まだ学習できていない事を意味します。
「分散(Variance)」とは学習データに対するモデルの予測の散らばり具合
つまり「分散」が大きいとは個々の学習データに対して過敏に反応して様々な予測をしてしまっている事なので、学習データに捉われすぎてしまって過学習になっている事を意味します。
機械学習モデルの望ましい学習状態とは、ちゃんと学習は出来ているけど、過学習まではやりすぎではない均衡が取れている状態なので、この均衡状態をBias-Variance Tradeoffと言います。
ニューロンの重みの事をBias(バイアス)と呼ぶ事もありますが、そのBiasとは別です。
更に機械学習モデルが偏った学習用データから学んでしまう偏り(偏見)の事もBiasと呼びます。例えば、お給料を査定するAIが「男性(正社員率高め)」と「女性(パートアルバイト率高め)」のデータから学習したとすると、女性のお給料を常に男性より低めに査定するBiasを内包する人工知能となってしまいますが、このBiasとも違います。
Context(コンテキスト、文脈)
直訳すると「文脈」。しかし、日本語の「文脈」より幅広く「状況」や「場面」、「お約束」などの概念も含まれます。例えば、サザエさんのcontextでは、サザエ姉さんに怒られるのはカツオであって、タラちゃんではないです。タラちゃんが怒られる文章を創作するAIがいたら、そのAIはサザエさんのcontextを理解できていません。GPT-2は少なくとも主要登場人物については指輪物語のコンテキストをほぼ完璧に理解しています。
Concept drift(コンセプトドリフト、概念漂流)
学習時に考えていた予測対象と現実世界の対象にズレが発生する事。例えば、スパム検出システムは当初は英文スパムを対象にしていたけれども、次にアヤシイ日本語が含まれるものが主流になり、更に段々と日本語が洗練されていきと、予測したい対象が時間の経過と共に変遷していくので、コンセプトドリフトによりモデルの有用性が低下していきます。
Data Augment(データ拡張、データ増強、データ水増し)
学習用データが足りない時に、データにちょっとしたノイズや編集を加えて、データを増やす事。例えば画像用データだったら画像を反転したり、画像の一部を切り抜いたり、回転したり、ずらしたり、色合いを変えたりしてデータを増やします。訳語としてはデータ水増しが一番妥当と思えますが、データ拡張の訳の方が市民権を得つつあるように見えます。
Data Cascade(データカスケード)
機械学習モデルを開発する際にデータを軽視してしまい、下流工程や実運用開始後に大きな問題が発生する事、及びその影響。2021年に発表された概念。
Data drift(データドリフト、データ漂流)
学習時に使ったデータと現実世界の実データにズレが発生する事。その結果、モデルの性能が低下します。例えば推薦システムに新しいモデルを組み込んだとすると、モデル組み込み前と組み込み後では推薦される商品が変わってくるので、その結果、ユーザの行動や特性も変わってきて、学習時のデータと現実世界のデータにズレが発生し、時間の経過と共にデータドリフトが起こる可能性が高くなります。
Data silo(データサイロ、縦割り型データ保管庫)
データが部署毎に独自の形式で保管されており横連携が出来ない事。サイロの元の意味は農産物や飼料などを貯蔵するために牧場などに設置してある縦長の建物です。これが転じてデータが部署毎に独自の形式で保管されており横連携が出来ず、分断化されている事をデータサイロ化と言います。データがサイロ化していると様々な部署からデータを迅速に集約するだけで大変な作業になり、データを有効活用してビジネス展開する事が困難になります。
Disentanglement(解きほぐし、分離)
disentangled representationsのようなrepresentationsと組み合わせて使われる事が多いですが、直訳すると「解きほぐされた特徴表現」で、要は「猫の特徴」では大ざっぱすぎるから、「猫の耳」とか「猫の目」など、特徴Aが変化しても特徴Bが影響を受けないようなより細かいレベルで特徴を捉えるようとする試みです。以下の記事が詳しいです「教師なし学習による特徴表現解きほぐし手法の評価」
Distillation(蒸留)
巨大で複雑なニューラルネットワーク(教師モデル)の入出力を使ってより小さくシンプルなニューラルネットワーク(生徒モデル)を学習させる手法。
Double descent(二重降下現象)
巨大なディープニューラルモデルが学習を進めるにつれて性能向上し、その後、過学習が起って性能低下し、その後、更にもう一度性能向上する現象の事。
従来信じられてきた理論であれば過学習が起ると機械学習モデルの性能はそのまま劣化していくはずですが、巨大な(過度にパラメータ化された)ディープニューラルモデルは、性能が上がったり下がったりを繰り返す事があり、二重降下現象の理由はまだ解明されていません。
Domain Randomization(ドメインのランダム化、領域のランダム化)
シミュレーターの全てのパラメーターをランダム化することにより、より多様なトレーニング環境を自動的に作成すること。例えば、迷路を解くエージェントに新たな迷路をお題として与える際に、ドメインのランダム化を行い、障害物とゴールの位置をランダムに配置した迷路を与えるなど。一般化能力が向上するとされていますが、ドメインのランダム化では意図的に設計された迷路に対応できないケースもあります。
Embedding(エンベッディング、埋め込み)
そのままでは人工知能で扱いにくいデータ(画像、音声、文章等)を扱いやすいようにベクトル(0, 1, 0, …. ,1)に変換したもの。より類似したデータ同士がより似たようなベクトルになるように調整されます。AIはデータそのものではなくembeddingを学習します。
イラスト生成AIであるStable Diffusion関連の文脈で見た場合はTextual Inversionの手法を使って学習した結果を保存したファイル(拡張子.pt)の事を意味します。AUTOMATIC1111をインストールしたフォルダ内のembeddingsフォルダ内にコピーして使います。
End-to-End(エンドツーエンド、直接に、一気通貫で)
英和辞書やIT用語などでは「端から端まで」と書かれている事が多いのですが、機械学習や人工知能関連文書で出てきた場合は今までのやり方との対比の意味で使われています。例えば音声認識ならば従来のやり方は「音声を音素に分割する。分割した音素を繋ぎ合わせて単語として解釈する。単語の並びが文法的に正しい文章かチェックをする。文章を認識する」と、異なったプログラム/モデルで段階的に処理していた(cascade systemと表記される事があります)のに対して「音声を与えるとその意味をエンドトゥーエンドで処理して認識可能なニューラルネットワークを開発しました」となります。文章内では従来処理の詳細までは書かれていない事が多いので、突然、「End-to-End(端から端まで)」と書いてあっても戸惑いますが、従来の処理がおそらくEnd-to-Endではなかったのだと文脈を読みましょう。
Ensemble(アンサンブル)
複数のモデルの出力を合わせて1つの出力とする手法。1つの優れたモデルより、複数のそこそこのモデルのアンサンブルの方が性能が高くなる事が多く、コンテストなどではアンサンブル手法を採用したチームが上位を占める事が多いです。モデルアンサンブルは全モデルを実行しますが、効率化のため複数のモデルを順次実行し、予測の信頼性が十分に高まった時点で解とするモデルカスケードという手法もあります。この辺りは「モデルのアンサンブルは貴方が思っているよりも凄い」に詳しいです。
Edge(エッジ、先端 or 辺)
直訳すると先端。センサーや監視カメラなどのデータを収集する機器の事。従来はそんなに賢い事は出来ず収集したデータをクラウドに送信するくらいしか出来なかったのですが、AI/MLを組み込んでやる事で賢くなり従来は不可能であった事が色々と出来るようになりそうなので5Gとの連携で大きな飛躍が期待されている分野がエッジコンピューティング。
また、グラフニューラルネットワークの文脈では「辺」の意味でエッジ、「頂点」の意味でノード、と言う単語が使われる時があります。
ETL(Extract/Transform/Load、イーティーエル)
ファイルからデータを抽出して(Extract)、日付等を求められている形式に変換し(Transform)、データベースに読み込む(Load)、等のビッグデータを取り込む際の一連の処理、もしくは、取り込み処理を行うツール群の事。ETLよりELTの順に処理する方が望ましい、もしくはELとTは別処理とするべき、など様々な議論があります。
Expert(エキスパート)
古い文献を読んでいてexpertと出てきた場合はディープラーニング以前に流行ったエキスパートシステムの事。エキスパートシステムは知識を集約して特定の問題に対して専門家のような受け答えをするシステムを構築しようとする試みでしたが、そもそも知識を人間が人力で定義する事が難しく限界がありました。
2020年代以降の文献でexpertと出てきた場合はMixture-of-Experts(MoEと略します。専門家混合を訳される事もあります)の中で使われるExpertsの事です。
MoEとは巨大なモデルのTransformer層内のフィードフォワードネットワークを、複数の同じフィードフォワードネットワーク(これをexpertsと呼びます)に置き換えたものです。
モデルを巨大化すると性能が向上する事がわかってきたけれども、計算にかかるコストが辛くなってきたので、全ての学習データを全てのニューロンに与える従来のモデル(密なモデルと言います)ではなく、ネットワークの一部のみを活性化させるモデル(疎なモデルと言います)が考案され、MoEは疎な手法の中で人気が高まっています。
入力データをネットワーク内の各サブネットワーク(expertsと呼ばれます)にどのように分配するかの選択は、ネットワークの残りの部分と一緒に学習される先頭の小さなルーターネットワーク(router networks)によって決定されます。以下が詳しいです。
V-MoEs:条件付き計算を使って視覚モデルの規模を拡大
TaskMoE:効率的に推論を行うためにタスク別のルーティングを学習
Fine-grained(ファイングレインド、きめ細かい)
従来の画像分類人工知能は「この写真に写っている動物は何ですか?」のように犬と猫を区別するような人間には当然出来るレベルの分類タスクを行っていたが、「きめ細かい視覚分類(FGVC:Fine-Grained Visual Categorization)」とは擬態を行う事で有名な蝶を区別するなどヘタをしたら人間の専門家でも見間違うレベルの分類を行う事
footprint(フットプリント)
機械学習モデルやAIモデルのサイズや複雑さを示す概念。これには、モデルのパラメータ数やメモリ使用量、計算に必要な資源の要件なども概念に含まれている。以前は、精度のみを指標としてランキングを競い合う傾向があったが、近年はモデルトレーニング時の二酸化炭素排出などが注目を集めている事もあり、高い性能を持ちつつもフットプリントが小さいモデルの開発も重視されるようになってきています。
Instance segmentation(インスタンスセグメンテーション)
実体のセグメンテーション。画像内に写っている特定の実体を切り出す事です。Instance segmentationは人、動物、車などの数える事が可能な物体の種別と描画範囲を識別し、個々の実体(インスタンス)を区別しますが、境界部分はそれほど細かく切り出さず、以下のような「境界ボックス形式のラベル(bounding box labels)」などで囲んで表現する事が多いです。しかし、2021年代はインスタンスセグメンテーション用途にもmask形式のラベルを自動で付与する手法が進化しつつあります。
Linear probing(線形探触子、線形プロービング)
機械学習の文脈で出てきた場合は、学習済モデルの残りの部分を凍結したまま、単一の線形分類レイヤー層を学習させる事。例えば、画像合成を学習させたモデルの特徴表現を凍結し、レイヤーを1つ追加させて画像分類を行わせる事など。Image GPTを参照。
Logits
分類モデルが出力する生の予測。シグモイド関数等で確率化する直前の数値、もしくはその直前のレイヤー。
MLOps
機械学習モデルの開発からリリースまでを迅速に行うためのツール群や概念の事。MLOpsの元となった単語はDevOpsといい、ソフトウェアの開発(Development)からリリースまでを迅速に行うためのツール群や概念の事です。代表的なイメージでは、GitでVersionを共同管理して、Jenkinsでコンパイルやテスト及びリリースを自動化して、Dockerで環境を丸ごと仮想化して管理など。AIやMLを開発する際やデータサイエンスプロジェクトにもこの概念は応用できるので~Opsの部分を色々と差し替えた単語がMLOps、AIOps、ModelOps、DataOpsなどが造語されています。これらを全部まとめてXOpsと表現する事もあります。
Model-Based Reinforcement Learning(MBRL、モデルベースの強化学習)
自分を取り巻く世界を支配する法則を意識している強化学習の事。強化学習の文脈で「モデルベース」と出てきた場合、このモデルとは「世界モデル(world model)」の事です。(ダイナミクスモデル(dynamics model)と呼ばれる事もあります)
世界モデルとは「その世界を支配する法則」の事です。例えば現実世界のモデル構造を知っていれば、リンゴが地面に落ちるのであればミカンも地面に落ちるはずだと推測できるので、わざわざミカンを空中に放り投げて試行錯誤する必要がなくなります。そのため、世界モデルを意識できるモデルベースの強化学習は学習回数を減らす事ができます。
実際、人間の赤ちゃんは「世界モデル」を探究する行為を行っている事が観察されており、人工知能と人間の学習効率の違いは、「世界モデル」を意識できているかの差であると考えられています。
「モデルフリー(Model-free)」の強化学習は「世界モデル」を意識できていないので、空中に放り投げた物体がどのようになるかは、その物体を実際に空中に放り投げて結果を観察しなければ学習する事ができません。
Multi modal(マルチモーダル、複数のコミュニケーション手段を扱える事)
画像や音声、文章など様々な種類のコミュニケーション手段を扱える事。モダリティ(Modality)で調べると医療用語で「医療機器の種類やタイプを表す言葉」とか「様式」や「様相」が出てきて意味がわからなくなりますが、AI関連の文書を調べていて出てきた場合は「The method of communication(コミュニケーションの手法)」の意味で使われていて、Multi modalとは「様々な種類/形式の入力を扱える事」の理解で良いです。例えば、文章と画像を一緒に扱える事などです。Cross-Modalであれば、文章と画像間で比較する事、などですね。マルチタスクと似ていますが、対象とするタスク/事象が異なっても扱えるのがマルチタスク(様々な異なったタスクを動画を使って学習)、データの形式が異なっていても扱えるのがマルチモーダル(音声と画像と動画を使って学習)です。
NLP(自然言語処理)
Google検索などでNLPと検索するとNeuro Linguistic Programing(神経言語プログラミング)が上位に出てくるが、これは人工知能/機械学習分野とは関係がない心理学的な研究のお話。
人工機械学習関連文書でNLPと出てきたらNatural Language Processing(自然言語処理)の事であって、平たく言えば英語や日本語などの人間が使っている言語を対象にした機械学習の事。
自然言語とは馴染みのない言葉かもしれませんが、世の中には人工的に作られたプログラミング言語などもあるので、それらと区別するために自然言語と言う言葉を使う時があるのです。
RPA(Robotic Process Automation)
事務処理などの従来は人間が行っている業務をソフトウェアで置き換えて自動化する事。例えばEXCELに人間がデータを手入力している業務があれば、EXCELはそのままで「EXCELにデータを入力するソフトウェア」を導入して自動化します。「そもそもそのEXCELデータは本当に必要なのか?」等の根本的な業務フローには手を加えないのでシステム改修を最小限に抑えながら人件費を削減できるとされています。自動化に使われるソフトウェアには必ずしもAIやMLが組み込まれているわけではありません。
単語の綴りではなく単語の持つ意味を意識する事。「山 標高 世界一」のようにキーワードを入力して検索する従来のキーワード検索に対して、「世界で一番高い山は?」のように自然な文章で検索する事を(文章の意味を理解した検索なので)セマンティック検索と呼びます。しかし、AI/ML用語としてはセマンティックセグメンテーションと言う全く違う意味でも使われるので下記のセマンティックセグメンテーションも参照してください。
Semantic segmentation(セマンティックセグメンテーション)
意味のセグメンテーション。Semantic segmentationは個々の実体を区別せず「人が写っている部分の画素」であるかどうかのみを判別します。個々の実体を意識しないため、草、空、道路などの類似した質感または材質で構成されるような定まった形を持たない物体も取り扱い可能です。
SotA(State of the Art)
「最先端の」もしくは「従来のモデルより優れた最高のスコア」の意味。機械学習/人工知能界隈では大変、好まれている言い回しで論文等を読んでいると頻出します。
Varidation data(ヴァリデーションデータ、検証用データ)
モデルのトレーニング中に学習がどこまで進んでいるかチェックする用途で使われるデータ。最近はdevelopmentデータセットと表記される事もある。
その重要性にも関わらず使われ方が統一されておらず混乱が見られる用語です。私の理解する限りでは「人工知能/機械学習システムはtraining dataset(トレーニングデータセット)を使って学習を行いつつ、training datasetと内容に重複がないVaridation dataset(検証データセット)を使って学習の進捗度合/一般化性能/過学習学習の有無などをチェックする。学習完了後、test datasetを使って最終性能確認やハイパーパラメーターの調整などを行う」が最も一般的な用語の使われ方です。
しかし、機械学習分野に限定しても
・Test datasetとValidation datasetの役割を逆にしている文書がある
・Test datasetを使ってValidationを行う等の混乱を招きやすい表現も見かける
・簡略化のためにValidation datasetを用意していない場合もある
・逆にTest datasetを用意していない場合もある
ので、文脈を見て判断する必要が多分にあります。
更に、機械学習が様々な分野で使われるようになった結果、他の分野の既存用語定義との衝突が起きるケースがあり、例えば医療分野では通常「臨床検証セット(clinical validation set)」とはモデルの最終評価に使用するデータセットを意味します。
そのため、医療分野でトレーニング中にvalidation setを使って学習の進行状況を~、的な話をしてしまうと、「とんでもない!」となってしまう事があるので、機械学習においても検証用途に使うデータセットは「チューニング セット(tuning set)」と表記した方が誤解がないとGoogleのヘルスケアチームは提言しています。
上記のように英語圏でも意外に混乱が発生しているケースがあるので共同研究を行う際は、test datasetとvalidation datasetの役割と定義について確認をしておく事が望ましいです。