深層学習技術の概要
深層学習技術は、多層のニューラルネットワークで、高度なデータ処理や認識を行うための技術となる。ここでのニューラルネットワークとは、”パターン認識アルゴリズム“でも述べているような人工神経回路網(Artificial Neural Network: ANN)とも呼ばれる脳内の神経細胞(ニューロン)の働きを模倣したネットワークモデルを言う。ニューラルネットワークは、重みやバイアスなどのパラメータを自動的に調整しながら、訓練データを学習することができる。
最もシンプルなニューラルネットワークはパーセプトロンと呼ばれ、1957年にFrank Rosenblattによって提案され、線形分類器として利用されたものとなる。これは複数の入力値に対して重みを割り当て、それらを総和を取り、バイアスとともに活性化関数に入力し、その結果を出力するという仕組みとなる。このパーセプトロンは単純な線形分類問題に対しては有用だが、非線形な問題には対応できないと言う課題を持っていた。
これを非線形な問題にも対応できるようにするには、パーセプトロンを多層に繋げる必要があるが、多層にすることでモデル内部のパラメータの数が飛躍的に増加して計算ができなくなるという課題があり近年まではあまり検討されていなかった。これに対して2006年に”特徴量はどこから来るのか“に述べているジェフリー・ヒントンが提案したオートエンコーダー(“オートエンコーダー“を参照のこと)で、多層のニューラルネットの計算に”確率的最適化“で述べられているSGDや”機械学習のための連続最適化“で述べられている勾配降下法などの数学的な最適化手法を用いることでブレークスルーを起こし、これまで困難であった多層なニューラルネットを計算できるようになり、”統計的学習理論“で述べられているような手法で理論的な裏付けも得られるようになった。
このような深層学習モデルは、基本的なパーセプトロンから始まり、オートエンコーダー、多層パーセプトロン、ボルツマンマシン、畳み込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、長短期記憶(LSTM)と進化していき、最近の複雑なモデルとしてはTransformer、GPT3、EfficientNet、AlphaFold、DALL-Eなどに発展してきている。
これらを実装して利用するには、シンプルなモデルであれば”Clojureを用いたニューラルネットと誤差逆伝播法の実装“で述べるように数学ライブラリを利用してコードを組むことも可能だが、複雑なモデルやOSSでのモデルを利用する際には”tensorflowとKerasとpytorchの比較“で述べているような専用深層学習プラットフォームであるtensirflowやKerasやpytorchなどを利用するのが一般的となる。それらの中で最も簡易に利用できるKerasについては”ニューラルネットワークのHello World“等でも述べているのでそちらも参照のこと。
深層学習技術の一般的な機械学習技術に対する利点は、一般的な機械学習技術が特徴量抽出とパターン学習という2つのプロセスを必要とするのに対して、深層学習技術では多段のモデルを組み合わせることでこれらを同時に行うことが可能で、データを入力できれば答えが出てくるという簡易さを持つという点にある。その反面、モデル内に数億〜数百億の持つこととなり、学習のための大量のデータが必要であったり、なぜそのような結果が出たかという説明が困難ないわゆるブラックボックス的な学習となってしまうという課題も持つ。
この深層学習技術は、他の機械学習技術と組み合わせたアプローチも多く検討されており、例えば”様々な強化学習技術の理論とアルゴリズムとpythonによる実装“で述べている強化学習と組み合わせた深層強化学習、”グラフデータ処理アルゴリズムと機械学習/人工知能タスクへの応用“で述べているグラフデータ処理と組み合わせたグラフニューラルネットワークなどがある。また近年の理論的研究では”ニューラルネットワーク(深層学習)とガウス過程の等価性“でも述べられているように確率モデルであるガウス過程と深層学習モデルは等価なモデルをそれぞれ構築できることがわかっている。
深層学習は、”画像情報処理技術“に述べている画像認識や、”音声認識技術“で述べている音声認識、”自然言語処理技術“で述べている自然言語処理、”数学と音楽とコンピューター“で述べている音楽生成、自動運転などの分野で幅広く活用されている
ここではこの深層学習に対して、様々な理論と応用、python等での具体的な実装について述べている。
人工知能学会「深層学習DeepLearning」より。
深層学習(deep learning)は、機械学習(あるいは人工知能)の分野で大きな注目を浴びている技術となる。ここでの「深層」とは、学習を行うニューラルネットワーク(ないしはそれに相当するもの)において層が深い、すなわち何段にも層が積み重なっているということであり、深層学習とは多段の層を持つ機構を用いた学習のことをいうものになる。深層ニューラルネットワークを構築することは、長い間、研究領域におけるある種の「夢」であった、それは、人間の脳は、多段に重なった構造をしているのにも関わらず、それと同じような構造を模倣するだけでは、肝心の学習の能力がうまく発揮できなかった事があったためである。
そして、この「深層」であるということは、機械学習を運用する際の「問題の表現」において極めて重要なアプローチとなる。この表現というのは、与えられたデータないし外界のどこに注目し特徴量として表すかということであるが、これまでそれを決めるのは人間の能力に頼るしかなかったものが、機械が特徴量を自動的に抽出できる、すなわち表現を学習する事ができれば、それは画期的なことになる。深層学習は、表現学習を実現する有望な方法であり、人工知能の分野全体にとっても潜在的な意義も大きい。
実装
ここではpython Kerasの概要と基本的な深層学習タスク(MINISTを用いた手書き文字認織、Autoencoder、CNN、RNN、LSTM)への具体的な適用例について述べている。
PyTorchは、Facebookが開発しオープンソースで提供されている深層学習のライブラリであり、柔軟性、動的計算グラフ、GPU加速などの特徴を持ち、様々な機械学習タスクを実装を可能としてくれるものとなる。以下に、PyTorchを用いたさまざまな実装例について述べる。
ミニバッチ学習は、機械学習において広く使用される効率的な学習手法の一つであり、通常の勾配降下法(Gradient Descent)に比べて、計算効率が高く、大規模なデータセットに対しても適用可能なものとなる。ここでは、ミニバッチ学習の概要について述べる。ミニバッチ学習は、データセット全体を一度に処理するのではなく、サンプルを複数個(ミニバッチと呼ばれる)にまとめて一括で処理する学習方法で、各ミニバッチごとに損失関数の勾配を計算し、その勾配を使用してパラメータを更新するものとなる。
ネガティブサンプリングは、自然言語処理や機械学習における学習アルゴリズムの一つで、特に”Word2Vec“でも述べているWord2Vecなどの単語埋め込みモデルで使われ、大規模なデータセットの効率的な学習を行うために、頻繁に発生しないデータ(ネガティブ例)を選択的にサンプリングする手法となる。
敵対的攻撃(Adversarial Attack)は、機械学習モデルに対する攻撃手法の一つであり、特に画像やテキスト、音声などの入力データに対して広く用いられるものとなる。敵対的攻撃は、わずかな摂動(ノイズや操作)を加えることにより、機械学習モデルの誤認識を引き起こすことを目的としている。このような攻撃は、セキュリティの脆弱性を明らかにし、モデルのロバスト性を評価するのに役立つ
Seq2Seq(Sequence-to-Sequence)モデルは、系列データを入力として取り、系列データを出力するための深層学習モデルであり、特に、異なる長さの入力系列と出力系列を扱うことができるアプローチとなる。Seq2Seqモデルは、機械翻訳、文章の要約、対話システムなど、さまざまな自然言語処理タスクで広く利用されている手法となる。
RNN(Recurrent Neural Network)は、時系列データやシーケンスデータをモデル化するためのニューラルネットワークの一種であり、過去の情報を保持し、新しい情報と組み合わせることができるため、音声認識、自然言語処理、動画解析、時系列予測など、さまざまなタスクで広く使用されているアプローチとなる。
LSTM(Long Short-Term Memory)は、再帰型ニューラルネットワーク(RNN)の一種であり、主に時系列データや自然言語処理(NLP)のタスクにおいて非常に効果的な深層学習モデルとなる。LSTMは、過去の情報を保持し、長期的な依存関係をモデル化することができるので、短期的な情報だけでなく、長期的な情報を学習するのに適した手法となる。
Bidirectional LSTM(Long Short-Term Memory)は、リカレントニューラルネットワーク(RNN)の一種であり、時系列データや自然言語処理などのシーケンスデータに対するモデリングに広く使用されている手法となる。Bidirectional LSTMは、シーケンスデータを過去から未来方向へと同時に学習し、そのコンテキストをより豊かに捉えることができる特徴がある。
GRU(Gated Recurrent Unit)は、”RNNの概要とアルゴリズム及び実装例について“でも述べている再帰型ニューラルネットワーク(RNN)の一種で、特に時系列データやシーケンスデータの処理に広く使用される深層学習モデルとなる。GRUは”LSTMの概要とアルゴリズム及び実装例について“で述べているLSTM(Long Short-Term Memory)と同様に長期的な依存関係をモデル化するために設計されているが、LSTMよりも計算コストが低いことが特徴となる。
Bidirectional Recurrent Neural Network(BRNN)は、再帰型ニューラルネットワーク(RNN)の一種で、過去と未来の情報を同時に考慮することができるモデルとなる。BRNNは、特にシーケンスデータを処理する際に有用で、自然言語処理や音声認識などのタスクで広く使用されている。
Deep RNN(Deep Recurrent Neural Network)は、再帰型ニューラルネットワーク(RNN)の一種で、複数のRNN層を積み重ねたモデルとなる。Deep RNNは、シーケンスデータの複雑な関係をモデル化し、より高度な特徴表現を抽出するのに役立ち、通常、Deep RNNは時間方向に多層で積み重ねられたRNNレイヤーから構成されている。
Stacked RNN(スタックされた再帰型ニューラルネットワーク)は、再帰型ニューラルネットワーク(RNN)の一種で、複数のRNN層を積み重ねて使用するアーキテクチャであり、より複雑なシーケンスデータのモデリングが可能になり、長期依存性を効果的にキャプチャできるようになる手法となる。
Echo State Network(ESN)は、リザーバーコンピューティングの一種で、時系列データやシーケンスデータの予測、分析、パターン認識などに使用されるリカレントニューラルネットワーク(RNN)の一種となる。ESNは、非常に効率的で簡単に訓練でき、さまざまなタスクで良好な性能を発揮することがある。
Pointer-Generatorネットワークは、自然言語処理(NLP)のタスクで使用される深層学習モデルの一種であり、特に、抽象的な文章生成、要約、文書からの情報抽出などのタスクに適した手法となる。このネットワークは、文章を生成する際に、元の文書からのテキストの一部をそのままコピーすることができる点が特徴となる。
Temporal Fusion Transformer (TFT) は、複雑な時系列データを扱うために開発されたディープラーニングモデルで、リッチな時間的依存関係をキャプチャし、柔軟な不確実性の定量化を可能にするための強力なフレームワークを提供するものとなる。
オートエンコーダ変分ベイズ(Variational Autoencoder, VAE)は、生成モデルの一種であり、データの潜在表現を学習するためのニューラルネットワークアーキテクチャであり、VAEは、データの確率分布をモデル化し、その中からサンプリングすることによって、潜在表現を学習するものとなる。以下にVAEの概要について述べる。
Block K-FAC(Block Kronecker-factored Approximate Curvature)は、深層学習モデルの最適化において使用される一種のカーブチャート(curvature information)の近似手法となる。
CNN(Convolutional Neural Network)は、主に画像認識、パターン認識、画像生成などのコンピュータビジョンタスクに使用される深層学習モデルとなる。ここではこのCNNに関しての概要と実装例について述べている。
DenseNet(Densely Connected Convolutional Network)は、2017年にGao Huang、Zhuang Liu、Kilian Q. Weinberger、およびLaurens van der Maatenによって提案された”CNNの概要とアルゴリズム及び実装例について“でも述べている深層畳み込みニューラルネットワーク(CNN)のアーキテクチャとなる。DenseNetは、畳み込みニューラルネットワークの訓練中に「密な(dense)」接続を導入することで、深層ネットワークの訓練の効率性を向上させ、勾配消失問題を軽減している。
ResNetは、2015年にKaiming Heらによって提案された”CNNの概要とアルゴリズム及び実装例について“でも述べている深層畳み込みニューラルネットワーク(CNN)のアーキテクチャであり、ResNetは、非常に深いネットワークを効果的に訓練するための革新的なアイデアを導入し、コンピュータビジョンタスクにおいて驚異的な性能を達成したアプローチとなる。
GoogLeNetは、Googleが2014年に発表した”CNNの概要とアルゴリズム及び実装例について“でも述べている畳み込みニューラルネットワーク(CNN)のアーキテクチャとなる。このモデルは、ImageNet Large Scale Visual Recognition Challenge(ILSVRC)などのコンピュータビジョンタスクにおいて、当時の最先端の性能を達成しており、GoogLeNetは、その特異なアーキテクチャとモジュール構造で知られいる。
VGGNet(Visual Geometry Group Network)は、2014年に開発された”CNNの概要とアルゴリズム及び実装例について“でも述べている畳み込みニューラルネットワーク(CNN)のモデルで、コンピュータビジョンタスクにおいて高い性能を達成したものとなる。VGGNetは、University of OxfordのVisual Geometry Groupに所属する研究者によって提案されている。
転移学習(Transfer Learning)は、機械学習の一種であり、あるタスクで学習したモデルや知識を、異なるタスクに適用する技術であり、通常、新しいタスクに必要なデータが少ない場合や、高い性能を要求するタスクにおいて、転移学習が有用となる。ここでは、この転移学習の概要及び様々なアルゴリズムと実装例について述べている。
Dynamic Graph Neural Networks(D-GNN)は、動的なグラフデータに対処するために設計されたグラフニューラルネットワーク(Graph Neural Network、GNN)の一種であり、ノードとエッジが時間に応じて変化するようなデータを扱うために設計されたものとなる。(GNNについては”グラフニューラルネットワークの概要と適用事例およびpythonによる実装例について“を参照のこと)このアプローチは、時系列データ、ソーシャルネットワークデータ、交通ネットワークデータ、生物学的ネットワークデータなど、さまざまな領域で用いられている。
機械学習における多言語対応(Multilingual NLP)とは、複数の言語に対応する自然言語処理(NLP)モデルやアプリケーションを開発するための分野であり、機械学習と自然言語処理の分野において重要な課題であり、異なる文化と言語コミュニティにサービスを提供するための要素となる。
GloVe(Global Vectors for Word Representation)は、単語の分散表現(word embeddings)を学習するためのアルゴリズムの一種となる。単語の分散表現は、単語を数値ベクトルとして表現する方法であり、自然言語処理(NLP)のタスクで広く使用されている。GloVeは、特に単語の意味を捉えるために設計されており、単語の意味的な関連性をキャプチャする能力に優れている。ここでは、このGloveに関しての概要、アルゴリズム及び実装例について述べている。
FastTextは、Facebookが開発した自然言語処理(NLP)のためのオープンソースのライブラリで、単語埋め込み(Word Embeddings)の学習とテキスト分類などのNLPタスクの実行に使用できるツールとなる。ここではこのFastTextのアルゴリズム及び実装例について述べている。
Skip-gramは、単語の意味をベクトル表現として捉え、類似性や意味の関連性を数値化することが可能な自然言語処理(NLP)の分野で広く使われる単語の分散表現(Word Embedding)を学習するための手法の一つで、”DeepWalkの概要とアルゴリズム及び実装例について“で述べているDeepWalkなどのGNNでも用いられるものとなる。
ELMo(Embeddings from Language Models)は、自然言語処理(NLP)の分野で利用される単語埋め込み(Word Embeddings)の方法の一つであり、2018年に提案され、その後のNLPタスクで大きな成功を収めたものとなる。ここでは、このELMoの概要とアルゴリズム及び実装例について述べている。
BERT(Bidirectional Encoder Representations from Transformers)は、BERTは2018年にGoogleの研究者によって発表され、大規模なテキストコーパスを使って事前学習された深層ニューラルネットワークモデルであり、自然言語処理(NLP)の分野で非常に成功した事前学習モデルの一つとなる。ここでは、このBERTの概要とアルゴリズムおよび実装例について述べている。
GPT(Generative Pre-trained Transformer)は、オープンAIが開発した自然言語処理のための事前学習モデルであり、Transformerアーキテクチャを基にして、大規模なデータセットを使用して教師なし学習によって学習されるものとなる。
ULMFiT(Universal Language Model Fine-tuning)は、2018年にJeremy HowardとSebastian Ruderによって提案された、自然言語処理(NLP)タスクにおいて事前学習済みの言語モデルを効果的にファインチューニングするためのアプローチとなる。このアプローチは、転移学習と訓練の段階ごとのファインチューニングを組み合わせて、さまざまなNLPタスクで高い性能を達成することを目的としている。
Transformerは、2017年にVaswaniらによって提案され、機械学習と自然言語処理(NLP)の分野で革命的な進歩をもたらしたニューラルネットワークアーキテクチャの1つとなる。ここではこのTransformerモデルの概要とアルゴリズム及び実装について述べている。
「トランスフォーマーXL」は、自然言語処理(NLP)などのタスクで成功を収めた深層学習モデルであるトランスフォーマー(Transformer)の拡張バージョンの一つとなる。トランスフォーマーXLは、文脈の長期依存関係をより効果的にモデル化することを目指して設計されており、過去のトランスフォーマーモデルよりも長いテキストシーケンスを処理できるようになっている。
Transformer-based Causal Language Model(Transformativeベースの因果言語モデル)は、自然言語処理(NLP)タスクで非常に成功しているモデルの一種で、“Transformerモデルの概要とアルゴリズム及び実装例について“でも述べているTransformerアーキテクチャをベースにして、特に文章の生成タスクに適したものとなる。以下にTransformer-based Causal Language Modelの概要について述べる。
Relative Positional Encoding(RPE)は、トランスフォーマー・アーキテクチャを使用するニューラルネットワークモデルにおいて、単語やトークンの相対的な位置情報をモデルに組み込むための手法となる。トランスフォーマーは、自然言語処理や画像認識などの多くのタスクで非常に成功しているが、トークン間の相対的な位置関係を直接モデリングするのは得意ではない。そのため、相対的な位置情報をモデルに提供するためにRPEが使用されている。
GAN(Generative Adversarial Network)は、生成的敵対的ネットワークと呼ばれる機械学習のアーキテクチャとなる。このモデルは、2014年にイアン・グッドフェローによって提案され、その後多くの応用で大きな成功を収めている。ここでは、このGANの概要とアルゴリズムおよび様々な応用実装について述べている。
機械学習における並列分散処理は、データや計算を複数の処理ユニット(CPU、GPU、コンピュータクラスタなど)に分散し、同時に処理することで処理時間の短縮やスケーラビリティの向上を実現するもので、大規模なデータセットや複雑なモデルを処理する際に重要な役割を果たすものとなる。ここではこの機械学習における並列分散処理に対して、オンプレ/クラウド環境での具体的な実装例について述べている。
物体検出技術は、画像やビデオ内の特定の物体やオブジェクトを自動的に検出し、それらの位置を特定する技術となる。物体検出はコンピュータビジョンや画像処理の重要なアプリケーションであり、多くの実世界の問題に応用されている。ここでは、この物体検出技術に関する様々なアルゴリズムと実装例について述べている。
R-CNN(Region-based Convolutional Neural Networks)は、物体検出タスクにおいて深層学習を活用するアプローチの一つとなる。R-CNNは、物体が存在する領域を提案(プロポーズ)し、それらの領域を個別に畳み込みニューラルネットワーク(CNN)で処理し、物体のクラスと境界ボックスを予測する方法であり、R-CNNは、物体検出タスクにおいて非常に優れた性能を発揮している。ここではこのR-CNNの概要、アルゴリズム及び実装事例について述べている。
Faster R-CNN(Faster Region-based Convolutional Neural Networks)は、物体検出タスクにおいて高速で高精度な結果を提供する一連のディープラーニングモデルの一つであり、R-CNN(Region-based Convolutional Neural Networks)と呼ばれる以前のアーキテクチャの問題点を解決し、物体検出の分野で大きな進歩をもたらしたものとなる。ここでは、このFaster R-CNNの概要とアルゴリズム及び実装例について述べている。
YOLO(You Only Look Once)は、リアルタイム物体検出タスクのための深層学習ベースのアルゴリズムとなる。YOLOは、物体検出とクラス分類を同時に行うことができ、高速かつ高精度な結果を提供する。YOLOは、コンピュータビジョンと人工知能の分野で非常に人気のあるモデルの一つとなる。
SSD(Single Shot MultiBox Detector)は、物体検出タスクを行うためのディープラーニングベースのアルゴリズムの一つとなる。SSDは、物体検出モデルを高速化し、高精度な検出を実現するために設計されている。
Mask R-CNN(Mask Region-based Convolutional Neural Network)は、物体検出と物体セグメンテーション(インスタンスセグメンテーション)のためのディープラーニングベースのアーキテクチャであり、各物体の位置を境界ボックスで囲むだけでなく、物体内のピクセルレベルで物体をセグメント化する能力を持っており、物体検出とセグメンテーションを組み合わせた強力なモデルとなる。
EfficientDetは、物体検出タスクにおいて高い性能を持つコンピュータビジョンモデルの一つとなる。EfficientDetは、モデルの効率性と精度のバランスを取るために設計され、より少ない計算リソースで優れた性能を発揮する。
EfficientNet(エフィシエントネット)は、軽量で効率的なディープラーニングモデルの一つであり、畳み込みニューラルネットワーク(CNN)のアーキテクチャとなる。EfficientNetは、2019年にTan and Leによって提案され、モデルのサイズと計算リソースを最適化しながら、高い精度を達成することを目指して設計されたものとなる。
LeNet-5(LeNet-5)は、ディープラーニングの分野において重要な歴史的なニューラルネットワークモデルの一つであり、”CNNの概要とアルゴリズム及び実装例について“でも述べている畳み込みニューラルネットワーク(CNN)のパイオニアであるユアン・ルカン(Yann Lecun)によって1998年に提案された手法となる。LeNet-5は、手書き数字認識タスクで非常に成功し、その後のCNNの発展に寄与している。
MobileNetは、コンピュータビジョン分野で広く使用されているディープラーニングモデルの一つであり、Googleが開発したモバイルデバイス向けに最適化された軽量で高効率な”CNNの概要とアルゴリズム及び実装例について“でも述べている畳み込みニューラルネットワーク(Convolutional Neural Network, CNN)アーキテクチャとなる。MobileNetは、画像分類、物体検出、セマンティックセグメンテーションなどのタスクに使用できるが、特にリソース制約のあるデバイスやアプリケーションで優れたパフォーマンスを提供している。
SqueezeNet(スクイーズネット)は、軽量でコンパクトなディープラーニングモデルの一つで、”CNNの概要とアルゴリズム及び実装例について“でも述べている畳み込みニューラルネットワーク(CNN)のアーキテクチャとなる。SqueezeNetは、畳み込みニューラルネットワークを小さなファイルサイズと低い演算量で実現することを目指して設計されており、主にリソース制約のある環境やデバイス向けに適している。
セグメンテーションネットワークは、画像内の異なる物体や領域をピクセル単位で識別し、それらをセグメント(領域)ごとに分割するためのニューラルネットワークの一種となる。主にコンピュータビジョンのタスクで使用され、画像内の各ピクセルを異なるクラスやカテゴリに関連付けることができるため、多くのアプリケーションで重要な役割を果たしている。ここでは、このセグメンテーションネットワークの概要と様々なアルゴリズムにおける実装について述べている。
Rainbow(”Rainbow: Combining Improvements in Deep Reinforcement Learning”)は、深層強化学習の分野で重要な成果を収めた論文で、複数の強化学習の改良技術を組み合わせて、DQN(Deep Q-Network)エージェントの性能を向上させたアルゴリズムとなる。Rainbowは、多くの強化学習タスクで他のアルゴリズムよりも優れた性能を示し、その後の研究においても基準となるアルゴリズムの一つとなっている。
Prioritized Experience Replay(PER)は、強化学習の一種であるDeep Q-Networks(DQN)を改善するためのテクニックの一つとなる。DQNは、エージェントが環境とやり取りする際に収集した経験(経験リプレイバッファと呼ばれるもの)を再利用することによって学習し、通常、経験リプレイバッファからランダムにサンプリングすることが一般的だが、PERはこれを改善し、重要な経験を優先的に学習する方法になる。
Dueling DQN(Dueling Deep Q-Network)は、強化学習においてQ学習をベースとしたアルゴリズムであり、価値ベースの強化学習アルゴリズムの一種となる。Dueling DQNは、特に状態価値関数とアドバンテージ関数を分離して学習し、Q値を効率的に推定するためのアーキテクチャであり、このアーキテクチャは、Deep Q-Network(DQN)の発展的なバージョンとして提案されたものとなる。
Deep Q-Network(DQN)は、ディープラーニングとQ-Learningを組み合わせた手法で、Q関数をニューラルネットワークで近似することによって、高次元の状態空間を持つ問題に対処する強化学習アルゴリズムとなる。DQNは、Vanilla Q-Learningよりも大規模で高次元な問題に対して効果的で、また、リプレイバッファや固定ターゲットネットワークなどのテクニックを使用して学習の安定性を向上させている。
Vanilla Q-Learning(ヴァニラQ学習)は、強化学習の一種で、エージェントが環境とやり取りしながら最適な行動を学習するためのアルゴリズムの一つとなる。Q-Learningは、Markov Decision Process(MDP)と呼ばれる数学的モデルに基づいており、エージェントは状態(State)と行動(Action)の組み合わせに関連付けられた価値(Q値)を学習し、そのQ値をもとに最適な行動を選択する。
Soft Actor-Critic(SAC)は、強化学習(Reinforcement Learning)のアルゴリズムの一種で、主に連続行動空間を持つ問題に対して効果的なアプローチとして知られているものとなる。SACは、深層強化学習(Deep Reinforcement Learning)の一部として、Q-learningおよびPolicy Gradientsなどの他のアルゴリズムと比較していくつかの利点を持っている。
Proximal Policy Optimization(PPO)は、強化学習のアルゴリズムの一種であり、ポリシー最適化法の一つであり、ポリシー勾配法をベースにして、安定性の向上と高い性能を目指して設計された手法となる。
A3C(Asynchronous Advantage Actor-Critic)は、深層強化学習のアルゴリズムの一種で、非同期の学習を用いて強化学習エージェントを訓練する手法であり、A3Cは、特に連続した行動空間でのタスクに適しており、大規模な計算リソースを有効活用できる点で注目されているものとなる。
Deep Deterministic Policy Gradient (DDPG) は、連続状態空間と連続行動空間を持つ強化学習タスクにおいて、ポリシー勾配法(Policy Gradient)を拡張したアルゴリズムとなる。DDPGは、Q-学習(Q-Learning)とディープニューラルネットワークを組み合わせて、連続アクション空間での強化学習問題を解決することを目的としている。
REINFORCE(またはMonte Carlo Policy Gradient)は、強化学習の一種で、”方策勾配法の概要とアルゴリズム及び実装例について“で述べている方策勾配法(Policy Gradient Method)の一つであり、REINFORCEは、方策(ポリシー)を直接学習し、最適な行動選択戦略を見つけるための方法となる。
Actor-Criticは、強化学習のアプローチの一つで、方策(ポリシー)と価値関数(価値推定子)を組み合わせた方法であり、Actor-Criticは、方策ベース法と価値ベース法の長所を結合し、効率的な学習と制御を実現することを目指すものとなる。
変分法(Variational Methods)は、関数や確率分布の中で最適解を求めるために用いられ、機械学習や統計学などで広く使われる最適化手法の一つであり、特に、確率的生成モデルや変分自己符号化器(Variational Autoencoder, VAE)などの機械学習モデルにおいて重要な役割を果たしている手法となる。
変分ベイズ学習(Variational Bayesian Inference)は、ベイズ統計学における確率的モデリングの手法の一つであり、事後分布を解析的に求めることが難しい場合や計算コストが高い場合に利用されるものとなる。
ここでは、この変分ベイズ学習の様々なアルゴリズムの概要と、トピックモデル、ベイズ回帰、混合モデル、ベイズニューラルネットワークでのpythonの実装について述べている。
グラフニューラルネットワーク(Graph Neural Network, GNN)は、グラフ構造を持つデータに対するニューラルネットワークの一種であり、グラフ構造を持つデータとは、要素間の関係を表現するために、頂点(またはノード)と、頂点間を結ぶエッジ(またはリンク)から構成されるグラフと呼ばれるデータ構造を使用して構築されたデータのことを指す。グラフ構造のデータの例としては、ソーシャルネットワーク、道路網、化学分子の構造、知識グラフなどがある。
ここでは、このGNNに関しての概要と様々な実施例およびPythonによる実装例について述べている。
グラフ畳み込みニューラルネットワーク(Graph Convolutional Neural Networks, GCN)は、グラフ構造を持つデータに対する畳み込み演算を可能にするニューラルネットワークの一種であり、通常の畳み込みニューラルネットワーク(CNN)は、画像データなどの格子状のデータに対して効果的なものに対して、GCNは、グラフデータやネットワークデータのような非常に複雑な構造を持つ非格子状のデータに対する深層学習の手法として開発されたものとなる。
ChebNet(Chebyshev ネットワーク)は、グラフニューラルネットワーク(Graph Neural Network, GNN)の一種であり、主にグラフ構造データに対する畳み込み操作を実行するための手法の一つとなる。ChebNetは、シグナル処理で使用されるシェビシェフ多項式(Chebyshev polynomials)を利用して、グラフ上での畳み込み演算を近似的に実装している。
Graph Attention Network(GAT)は、グラフ構造に対する注意メカニズムを使用してノードの表現を学習する深層学習モデルとなる。GATは、異なるノード間の関係や接続パターンに基づいて、各ノードの重要度を自動的に決定することが可能なアプローチとなる。
Graph Isomorphism Network (GIN)は、グラフ構造の同型性を学習するためのニューラルネットワークモデルであり、グラフ同型性の問題は、2つのグラフが同じ構造を持つかどうかを判定する問題で、多くの分野で重要なアプローチとなる。
GraphSAGE(Graph Sample and Aggregated Embeddings)は、グラフデータからノードの埋め込み(ベクトル表現)を学習するためのグラフ埋め込みアルゴリズムの一つであり、ノードの局所的な隣接情報をサンプリングし、それを集約することによって、各ノードの埋め込みを効果的に学習するものとなる。このアプローチにより、大規模なグラフに対しても高性能な埋め込みを獲得することが可能となる。
ベイジアンニューラルネットワーク(BNN)は、確率論的な要素をニューラルネットワークに統合するアーキテクチャであり、通常のニューラルネットワークが確定論的であるのに対し、BNNはベイズ統計に基づいて確率的なモデルを構築するものとなる。これにより、モデルが不確実性を考慮できるようになり、さまざまな機械学習タスクで応用されている。
画像情報のラベル付けは、後述する様に様々な機械学習のアプローチで実現できる。今回は、それら機械学習のアプローチとルールベースのアプローチである制約充足によるアプローチの融合について考えてみたいと思う。これらのアプローチは自然言語処理等を用いたテキストデータのラベル付け等にも拡張できるものとなる。
ベイズ深層学習は、ベイズ統計学の原則を深層学習に組み込む試みを指す。通常の深層学習では、モデルのパラメータは確率的でない値として扱われ、最適なパラメータを求めるために最適化アルゴリズムが使用されるが、ベイズ深層学習では、これらのパラメータ自体を確率分布として扱い、不確かさを考慮に入れてモデルを学習および推論することを目指すものとなる。不確かさの機械学習への適用に関しては”不確実性と機械学習技術“や”統計的学習理論の概要(数式を使わない解説)“を参照のこと。
Meta-Learnersを用いた因果推論は、機械学習モデルを用いて因果関係を特定し、推論するためのアプローチを改善する方法の一つであり、因果推論は、ある変数が別の変数に対して直接的な因果関係を持つかどうかを判断することを目指すが、これには従来の統計的方法だけでなく、機械学習を活用することでより高度な推論が可能となる。Meta-Learnersは、異なる因果推論タスクに対して迅速に適応する能力を持つモデルを構築するために使用され、これにより、以下のような問題を効率的に解決できるようになる。
Meta-Learnersは、機械学習の領域において重要な概念の一つであり、「学習アルゴリズムを学習するアルゴリズム」として理解できるものとなる。つまり、メタラーナーは、異なるタスクやドメインに対して適応可能な学習アルゴリズムを自動的に獲得するアプローチとも言える。ここでは、このMeta-Learnersの概念と様々なアルゴリズムおよび具体的な実装について述べている。
Federated Learning(フェデレーテッド ラーニング)は、機械学習モデルを訓練する新しいアプローチであり、データが分散している環境でのプライバシー保護や効率的なモデルトレーニングに対する課題に対処するための手法となる。従来の中央集権的なモデルトレーニングとは異なり、Federated Learningはデバイスやクライアント自体でモデルのトレーニングを行い、中央のサーバにモデルを送信することなく分散学習を行う仕組みとなる。ここでは、このFederated Learningの概要と各種アルゴリズム及び実装例について述べている。
機械学習の領域では、PythonやRのような豊富なライブラリーを持つ環境が利用されててほぼデファクトとなっているが、これに対して初期(2007年〜2017年頃)のClojureでは、CやPython、R等と繋げるしくみも開発されていたが、相手先のライブラリを自由に扱えるレベルではなく、最新のアルゴリズムを駆使することにハードルがあった。
これに対して近年(2018年〜)、libPython-cljのようなPython環境と相互に運用可能なフレームワークが現れたり、またJavaやCのライブラリを活用した数学的フレームワークfastmathや、深層学習のフレームワークCortex、Deep Diamond等が開発されたりすることで、機械学習へのアプローチが積極的に検討され、Clojureの機械学習のコミュニティとして有名なscicloj.ml等で活発に議論されるようになった。
強化学習やオンライン学習等で小規模な深層学習をアルゴリズムの中に導入することを念頭に起き、(かつニューラルネットのアルゴリズムの原理的な理解を含めて)Clojureでのニューラルネットの実装について述べる。ベースの実装はqitaでの”Clojureで0からのニューラルネット構築と隠れ層の観察“を用いて加筆を加えたものとした。
Hierarchical Temporal Memory (HTM) は、新皮質の構造的・アルゴリズム的性質 を捉えることを目指した機械学習技術となる。HTMは現在のスマートフォンの原型となるハンドヘルドコンピュータ(palm、Treo)を考案したジェフ・ホーキンスが唱えた「自己連想記憶」理論(考える脳、考えるコンピューター)をベースにしたニューラルネットライクなパターン認織アルゴリズムとなる。
深層学習のオープンソースフレームワークであるtensorflow、Kreasとpyhorchの比較を行なっている。
人工知能の定義を「本来ならば人が行う知的な作業を自動化する取り組み」とする。この概念は学習とは無関係な多くのアプローチを含んでいる。例えば初期のチェスプログラムは、プログラマーによりハードコーディングされたルールを組み込んでいるだけで、機械学習とは呼べものではない。
かなり長い間、多くの専門家は「人間に匹敵するレベルのAIを実現するには、知識を操作するのに十分な大量のルールを明示的に定義して、プログラマが手作業で組み込む必要がある」と考えていたが、画像分類、音声認識、言語の翻訳のように、より複雑でファジーな問題を解くための明示的なルールを突き止めるのは到底無理で、それらに変わる新しいアプローチとして、機械学習が生まれた。
機械学習のアルゴリズムは、期待されるもののサンプルを機械学習に与えると、データ処理タスクを実行するためのルールが抽出されるものとなる。機械学習とディープラーニングでは「データを意味のある形で変換すること」が主な課題となる。つまり、機械学習は与えられた入力データから有益な表現(representation)を学習する。それらの表現は、期待される出力に近づくためのものとなる。
- ニューラルネットワークのHello World、MNISTデータによる手書き認織の実装
深層学習技術のhello worldとして、pyhton/KeraによるMNISTデータの手書き認識技術の具体的な実装と評価
- ニューラルネットワークでの数学的要素(1) テンソルのnumpy等による操作
今回は、ニューラルネットワークでの数学的要素であるテンソルのnumpyによる操作について述べる。一般に、現在の機械学習システムはすべて、基本的なデータ構造としてテンソルを使用する。テンソルは基本的には、データのコンテナ(入れ物)となる。ほとんどの場合、テンソルは数値データとなる。従ってテンソルは数値のコンテナとなる。
テンソルは以下に示す3つの主な属性により定義される。(1)軸の数(階数):たとえば3次元テンソルの軸は3であり、行列の軸は2となる。NumpyなどのPythonライブラリでは、軸の数をテンソルのndim属性と呼ぶ、(2)形状:テンソルの各軸にそった次元の数を表す整数のタプル、例えば前述の例では、行列の形状は(3,5)であり、3次元テンソルの形状は(3,3,5)となる。ベクトルの形状は(5,)のように単一の要素で表されるが、スカラーの形状は空([])となる、(3)データ型:テンソルに含まれているデータの型。Pythonライブラリでは、通常はdtypeで表される。例えばテンソルの型はfloat32、uint8、float64などになる。まれにchar型のテンソルが使用されることもある。Numpyをはじめとするほとんどのライブラリでは、文字列型のテンソルは存在しないことに注意が必要となる。文字列は可変長であり、そのような実装は不可能だからである。
- ニューラルネットワークでの数学的要素(2) 確率的勾配降下法と誤差逆伝搬法
テンソルを使った確率的勾配降下法と誤差逆伝播法について述べる。
- pythonとKerasによるディープラーニングの入門 (1) Kerasの使い方概要
具体的なKerasのワークフロー(1)訓練データ(入力テンソルと目的テンソル)を定義する、(2)入力値を目的値にマッピングする複数の層からなるネットワーク(モデル)を定義する、(3)損失関数、オプティマイザ、監視する指標を選択することで、学習プロセスを設定する、(4)モデルのfitメソッドを呼び出すことで、訓練データを繰り返し学習する、について述べ、具体的な問題を解く。
- pythonとKerasによるディープラーニングの入門 (2) 実際の適用例(1)テキストデータの2クラス分類
二値分類(2クラス分類)の例として、映画レビューのテキストの内容に基づいて、映画レビューを肯定的なレビューと否定的なレビューに分けるタスクについて述べる。
IMDb(Internet Movie Database)データベースセット(前処理された状態でKerasに含まれている)から収集された、「肯定的」または「否定的な50,000件のレビューでそれぞれ否定的な50%のレビューと肯定的な50%のレビューで構成されている訓練用の25,000件のデータとテスト用の25,000件のデータを用いる。
Kerasを用いてDense層とsigmaid関数を使って実際の計算を行ったものについて述べる。
- pythonとKerasによるディープラーニングの入門 (3) 実際の適用例(2)実際の適用例(2)ニュース配信の多クラス分類
reutersのニュース配信データ(Kerasの一部としてパッケージされている)を相互排他なトピック(クラス)に分類するネットワークを構築する。クラスの数が多いため、この問題は多クラス問題(multiclass clasification)の一例となる。各データ点は一つのカテゴリ(トピック)にのみ分類される。そう考えると、これは具体的には、多クラス単一ラベル分類(single-label multiclasss classification)問題となる。各データ点が複数のカテゴリ(トピック)に分類される可能性がある場合は、多クラス多ラベル分類(multilabel multiclass classification)問題を扱うことになる。
Keraを用いて主にDense層とRelu関数を用いて実装して評価している。
- pythonとKerasによるディープラーニングの入門 (4) 実際の適用例(3)住宅価格の予測に対する回帰
離散的なラベルではなく連続値を予測する回帰(regression)問題への適用(気象データに基づいて明日の気温を予測したり、ソフトウェアプロジェクトの仕様に基づいてプロジェクトの完了にかかる時間を予測したりするmk)について述べる。
1970年代中頃のボストン近郊での住宅価格を予測するタスクを行う。この予測には、犯罪発生率や地方財産税の税率など、当時のボストン近郊に関するデータ点を利用する。このデータセットに含まれるデータ点は506個と比較的少なく、404個の訓練サープルと、102個のテストサンプルに分割されている。また入力データの特徴量(犯罪発生率なと)はそれぞれ異なる尺度を利用している。例えば、割合を0〜1の値で示すものもあれば1〜12の値を取るものや、0〜100の値を取るものもある。
アプローチの特徴としては、データ正規化を行い、損失関数として平均絶対誤差(mean absolute error、MAE)、二乗平均誤差(mean square error)を使い、k分割交差検証(k-fold cross-validation)を使うことでデータ数の少なさを補っている。
教師なし学習について述べる。このカテゴリに分類される機械学習では、目的値の値を借りずに、入力データの重要な変換を見つけ出す。教師なし学習は、データの可視化、データの圧縮、データのノイズ除去が目的のこともあれば、データによって表される相関関係への理解を深めることが目的のこともある。教師なし学習は、データ解析に不可欠なものであり、教師あり学習の問題を解決する前にデータセットへの理解を深めるために必要になることもよくある。
教師なし学習では、次元削減(dimensionallity reduction)とクラスタリング(clustering)の2つのカテゴリがよく知られている。さらにオートエンコーダー(autoencoder)のような自己学習もある。
また過学習と学習不足、正則化やドロップアウトによる計算の効率化/最適化についても述べている。
- pythonとKerasによるコンピュータービジョンのためのディープラーニング(1) 畳み込みとプーリング
今回は畳み込みニューラルネットワーク(CNN)について述べる。CNNはコンピュータービジョンのアプリケーションにおいてほぼ例外なく使用されているディープラーニングモデルであり、cnvnetとも呼ばれる。ここでは、MNISTの手書き文字認識としての画像分類問題にCNNを適用する方法について述べる。
- pythonとKerasによるコンピュータービジョンのためのディープラーニング(2) 少量データでのデータ拡張によるCNNの改善
小さなデータセットにディープラーニングを適用するための基本的な手法をさらに2つ適用する。一つは学習済みのモデルによる特徴抽出であり、これにより正解率が90%から96%に改善される。もう一つは、学習済みのモデルのファインチューニングであり、これにより、最終的な正解率は97%になる。これら3つの戦略(小さなモデルを1から訓練、学習済みモデルを使った特徴抽出、学習済みモデルのファインチューニング)は、小さなデータセットを使って無象分類するときの小道具の一つとなる。
今回使用するデータセットは、Dogs vs Catsデータセットで、Kerasではパッケージ化されていない。このデータセットはKaggleの2013年後半のコンピュータービジョンこんぺで提供されたものになる。元のデータセットはKaggleのWebページからダウンロードされる。
- pythonとKerasによるコンピュータービジョンのためのディープラーニング(3) 学習済みモデルを用いたCNNの改善
今回は学習済みモデルを利用したのCNNの改善について述べる。学習済みモデルとして2014年に、Karen SimonyanとAndrew Zissermanらによって開発されたVGG16アーキテクチャについて述べる。VGG16は、に動物や日常的なものを表すクラスで構成されている学習済みモデルであるImageNetで広く使用されているシンプルなCNNアーキテクチャとなる。VGG16は古いモデルで、最先端のモデルには遠く及ばず、最新の多くのモデルよりも少し重いものとなる。
学習済みのネットワークを使用する方法には、特徴抽出(feature extraction)とファインチューニング(fine-tuning)の2つがある。
- pythonとKerasによるコンピュータービジョンのためのディープラーニング(4) CNN学習データの可視化
CNNによって学習された表現は、それらが「視覚概念の表現」であるため、可視化に非常に適している。2013年以降、それらの表現を可視化/解釈するための手法は幅広く開発されている。今回はそれらの中で最も利用しやすく有益なものを3つ取り上げる。
(1)CNNの中間出力(中間層の活性化)の可視化:CNNの一連の層によって入力がどのように変換されるかを理解し、CNNの個々のフィルタの意味を理解するものとなる。(2)CNNのフィルタの可視化:CNNの各フィルタが受け入れる視覚パターンや視覚概念がどのようなものであるかを把握できる。(3)画像におけるクラス活性化のヒートマップの可視化:画像のどの部分が特定のクラスに属しているかを理解でき、それにより、画像内のオブジェクトを局所化できるようになる。
- pythonとKerasによるテキストとシーケンスのためのDNN(1)学習のためのテキストデータの前処理
自然言語(テキスト)を扱う深層学習はシーケンスを処理するための基本的なディープラーニングアルゴリズムは、リカレントニューラルネットワーク(RNN)と一次元の畳み込みニューラルネットワーク(CNN)の2つとなる。
DNNモデルで可能となるのは、多くの単純なテキスト処理タスクを解決するのに十分なレベルで、文語の統計的な構造をマッピングするものとなる。自然言語処理(Natural Language Processing:NLP)のためのディープラーニングは、コンピュータービジョンがピクセルに適用されるパターン認織であるのと同様に、単語、文章、段落に適用されるパターン認織となる。
テキストのベクトル化は複数の方法で行うことができる。(1)テキストを単語に分割し、各単語をベクトルに変換する、(2)テキストを文字に分割し、各文字をベクトルに変換する、(3)Nグラムの単語または文字を抽出し、Nグラムをベクトルに変換する。
ベクトルの形態としては、one-hotエンコード、単語埋め込み(word embedding)。学習済みの単語埋め込みのデーベースが様々に提供されている(Word2Vec、Global Vectors for Word Representation(GloVe)、iMDbデータセット)がある。
- pythonとKerasによるテキストとシーケンスのためのDNN(2)SimpleRNNとLSTMの適用
全結合ネットワークや畳み込みニューラルネットワークなどに共通する特徴の一つは、記憶をもっといないこととなる。これらのネットワークに渡される入力はそれぞれ個別に処理され、それらの入力にまたがって状態が維持されることはない。そうしたネットワークでシーケンスや時系列データを処理するときには、シーケンス全体を一度にネットワークに提供することで、単一のデータ点として扱われるようにする必要がある。このようなネットワークはフィードフォワードネットワーク(feedforward network)と呼ばれる。
これに対して、人が文章を読むときには、単語を目で追いながら、見たものを記憶していく。これにより、その文章の意味が流れるように表現される。生物知能は、情報を斬新的に処理しながら、処理しているものの内部モデルを維持する。このモデルは過去の情報から構築され、新しい情報が与えられるたびに更新される。
リカレントニューラルネットワーク(RNN)も、非常に単純化されているものの、原理は同じとなる。この場合は、シーケンスの処理は、シーケンスの要素を反復的に処理するという方法で行われる。そして、その過程で検出されたものに関連する情報は、状態として維持される。実質的には、RNNは内部ループを持つニューラルネットワークの一種となる。
ここではKerasを用いた基本的なRNNであるSimple RNNと、高度なRNNとしてLSTMの実装について述べている。
- pythonとKerasによるテキストとシーケンスのためのDNN(3)リカレントニューラルネットワークの高度な使い方(GRU)
RNNの性能と汎化力を向上させる高度な手法について述べる。ここでは気温を予測する問題を例に、建物の屋上に取り付けられたセンサーから送られてくる気温、気圧、湿度といった時系列データにアクセスする。それらのデータをもちに、最後のデータ点から24時間後の気温を予測するという難易度の高い問題を解き、時系列データを扱う時に直面する課題について述べる。
具体的にはリカレントドロップアウト、リカレント層のスタック等のテクニックを用いて最適化し、GRU(Gated Recurrent Unit)層を利用するアプローチについて述べる。
- pythonとKerasによるテキストとシーケンスのためのDNN(4)双方向RNNと畳み込みニューラルネットワークでのシーケンス処理
最後に述べる手法は、双方向RNN(bidirectional RNN)となる。双方向RNNは一般的なRNNの一つであり、特定のタスクにおいて通常のRNNよりもよい性能が得られる。このRNNは自然言語処理(NLP)でよく使用される。双方向RNNについては、NLPのためのスイスアーミイナイフのように万能なディープラーニングと考えられる。
RNNの特徴は、順序(時間)に依存することとなる。そのため時間刻みをシャッフルしたり逆の順序にすると、RNNがシーケンスから抽出する表現がすっかり変わる可能性がある。双方向RNNは、RNNの順序に敏感な性質を利用して、順方向と逆の方向でのシーケンスを処理することで、一方向では見落としているパターンを捕捉することを目的として構築されたものとなる。
- pythonとKerasによる高度なディープラーニング(1) Keras Functional APIによる複雑なネットワークの構築
今回はより高度なディープラーニングのベストプラクティスとしてKeras Functional APIを用いた複雑なネットワークモデルの構築について述べる。
古着の市場価格を予測するディープラーニングモデルを考えた時、このモデルの入力は、ユーザーが提供するメタデータ(商品のブランドや何年まえのものかなど)、ユーザーが提供するテキストの説明、そして商品の写真などがある。これらを使ったマルチモーダルなモデル。
タスクによっては、入力データから複数の目的属性を予測しなければならないことがある。長編小説や短編小説のテキストがあったとき、この小説をジャンル別に分類したいが、その小説がいつ頃執筆されたかも予測したいと木に必要なマルチ出力のモデル。
あるいは上記を組み合わせたものに対して、KerasでのFunctional APIを用いることでフレキシブルなモデルを構築することができる。
- pythonとKerasによる高度なディープラーニング(2) KerasのコールバックとTensorBordを使ったモデルの監視
今回は訓練中にモデル内で起きていることを監視する手法とDNNの最適化について述べる。モデルを訓練する際には、検証データでの損失値を最適化するためにエポックが幾つ必要なのか等の最初から予測しておくことが困難なことが多々ある。
このエポックに対して、検証データでの損失値の改善が認められなくなった時点で訓練を中止できれば、より効果的なタスクを行うことができる。これを可能にするのがKerasのコールバック(callback)となる。
TensorBoardはTensoFlowに含まれているブラウザベースの可視化ツールとなる。なお、TensorBoardを利用できるのは、KerasのバックエンドとしてTensorFlowを使用している時に限られる。
TensorBoardの主な目的は、訓練中にモデルの内部で起きていることをすべて視覚的に監視できるようにするとこで、モデルの最終的な損失以外の情報も監視している場合は、モデルが行なっていることと行なっていないことをより見通せるようになり、すばやく全身できるようになる。TesorBoeadの機能を以下のようになる(1)訓練中に指標を視覚的に監視、(2)モデルのアーキテクチャの可視化、(3)活性化と勾配のヒストグラムの可視化、(4)埋め込みを3次元で調査
- pythonとKerasによる高度なディープラーニング(3) モデルの最適化の手法
今回はモデルの最適化の手法について述べる。
とりあえず動くものがあればそれで良いという場合には、アーキテクチャをやみくもに試してもそれなりにうまくいく。ここでは、うまくいくことに甘んじるのではなく、機械学習コンペに勝つほどうまくいくためのアプローチについて述べる。
まず、前述した残差接続以外の重要な設計パターンとして「正規化」「dw畳み込み」について述べる。これらのパターンが重要になるのは、高性能なディープ畳み込みニューラルネットワーク(DCNN)を構築している場合となる。
ディープラーニングモデルを構築する時には、個人の裁量にも思えるさまざまな決定を下す必要がある。具体的には、スタックの層の数はいくつにすればよいのか?各層のユニットやフィルタの数は幾つにすれば良いのか?活性化関数としてどのような関数を使うべきなのか?ドロップアウトはどれくらい使用すれば良いのか?等がある。こうしたアーキテクチャレベルのパラメータは、ばックプロパゲーション(誤差逆伝搬法)を通じて訓練されるモデルのパラメータと区別するために、ハイパーパラメータ(hyperparameter)と呼ばれる。
最善の結果を得るためのもう一つの強力な手法は、モデルのアンサンブル(model ensembling)となる。アンサンブルは、よりよい予測値を生成するために、さまざまなモデルの予測値をプーリングする、というものになる。
Kerasで複数の時系列データを深層学習モデルで学習させる手法には2つあります。(1)複数入力型の深層学習モデル、(2)個別入力型の深層学習モデルの組み合わせ。1の手法の利点はモデルがシンプルなので学習と予測が2の手法に比べ高速になります。2の手法の利点は時系列ごとにカスタマイズ可能なので1よりも精度を高めることが容易になります。
生成系
条件付き生成モデル(Conditional Generative Models)は、生成モデルの一種であり、特定の条件を与えた場合にデータを生成する能力を持つモデルとなる。条件付き生成モデルは、与えられた条件に基づいてデータを生成することができるため、多くの応用分野で重要な役割を果たしている。ここでは、この条件付き生成モデルに関して様々なアルゴリズムと具体的な実装について述べている。
ChatGPTやStable Diffusionのような生成系のモジュールをコードレスに利用可能なオープンソースのツールとしてtext-generation-webuiとAUTOMATIC1111等がある。今回は、これらを用いたテキスト生成/画像生成のモジュールの利用法保について述べる。
Huggingfaceは、機械学習と自然言語処理(NLP)に関するオープンソースのプラットフォームとライブラリを提供している企業であり、Huggingfaceでは、Transformerモデルを中心としたNLPタスクのための高度なモデルやツールが開発されている。Huggingfaceが提供するツールやリソースは、オープンソースコミュニティによって支えられており、そこではコードやモデルの共有に積極的な取り組みが行われている。ここではHuggingface Transformersと文書生成、pythonによる実装について述べる。
深層学習におけるAttentionは、ニューラルネットワークの一部として使用される重要な概念となる。このAttentionメカニズムは、入力の異なる部分に異なる重要度を割り当てることができるモデルの能力を指し、このメカニズムの適用が、自然言語処理や画像認識などのタスクにおいて特に有用であることが近年認識されている。
ここではこのAttentionメカニズムの概要についてなるべく数式等を使わずに説明し、さらにpyhtonによる実装例について述べている。
- pythonとKerasによるジェネレーティブディープラーニング(1)LSTMを使ったテキスト生成
今回はpythonとKerasによるジェネレーティブディープラーニングとしてLSTMを用いたテキスト生成について述べる。
深層学習を利用したデータの生成に関しては、2015年には、GoogleのDecDreamアルゴリズムによる画像をサイケデリックな犬の目やパレイドリックな作品に変換するもの、2016年にはLSTMアルゴリズムにより生成れさた(完全なセリフ付きの)脚本に基づいた「sunspring」という短編映画や、様々な音楽の生成が提案されている。
これらは深層学習のモデルで、学習された画像、音楽、物語の統計的な潜在空間(latent space)から、サンプルを抽出することで実現されている。
今回はまず、リカレントニューラルネットワーク(RNN)を使ってシーケンス(系列)データを生成する手法について述べる。ここではテキストデータを例に述べるが、全く同じ手法を使ってあらゆる種類のシーケンスデータ(音楽や絵画の筆跡データ等)への応用が可能となる。また、Googleのsmart replay等のチャットボットでの音声合成や対話生成にも活用することができる。
- PyTorchによる発展ディープラーニング(OpenPose, SSD, AnoGAN,Efficient GAN, DCGAN,Self-Attention, GAN, BERT, Transformer, GAN, PSPNet, 3DCNN, ECO)
pyhtorchを用いた発展的ディープラーニング技術の(OpenPose, SSD, AnoGAN,Efficient GAN, DCGAN,Self-Attention, GAN, BERT, Transformer, GAN, PSPNet, 3DCNN, ECO)の具体的な実装と応用。
理論と応用
人工知能学会より出版されている「深層学習Deep Learning」より深層学習の全体像について述べる。
大きく分けると入力に対して確定的に出力が決まる「確定的モデル」と確率モデルをベースとした「確率的モデル」の二種類がある。確定的ニューラルネットの多くは、階層型ニューラルネットワークと自己符号化器に分類される。
階層的ニューラルネットは、入力から出力へ結合を通じて符号が順伝搬するフィードフォワード型の構造をしており、主に教師あり学習に用いられる。階層的ニューラルネットとしては、パーセプトロン、多層パーセプトロン、深層(階層型)ニューラルネット、再帰ニューラルネット、畳み込みニューラルネット、回帰結合ニューラルネット等がある。
Nealは”Bayesian Learning for Neural Networks“にて、1層のニューラルネットワークは隠れ層→∞の極限でガウス過程と等価であることをしめした。したがって、ニューラルネットワークの代わりにガウス過程を考えることで、ニューラルネットワークにおける多重の重みの最適化が不要になり、予測分布を解析的に求めることが可能となる。また、ガウス過程は確率モデルとして自然な構造を持っており、何が学習されるか予測できないニューラルネットワークと異なって、カーネル関数を通じて問題に関する事前知識を表現したり、時系列やグラフのように自明にベクトル化できない対象を見通しよく扱うことができるという利点がある。
- マルチタスク学習の概要と適用事例と実装例
マルチタスク学習(Multi-Task Learning)は、複数の関連するタスクを同時に学習する機械学習の手法となる。通常、個々のタスクは異なるデータセットや目的関数を持っているが、マルチタスク学習ではこれらのタスクを同時にモデルに組み込むことで、相互の関連性や共有できる情報を利用して互いに補完しあうことを目指している。
ここではこのマルチタスクに対して、共有パラメータモデル、モデルの蒸留、転移学習、多目的最適化等の手法の概要について述べ、自然言語処理、画像認識、音声認識、医療診断等の応用事例とpythonによる簡易な実装例について述べている。
画像情報の分類器のアルゴリズムの最適化と識別関数について述べる。まず勾配降下法について。勾配降下法(gradient descent method)は、目的関数Jの微分を求めて、勾配の逆方向にステップmごとにパラメータを逐次的に更新していく手法となる。
画像処理における局所特徴抽出、統計的特徴抽出、コーディングやプーリングをそれぞれ一つのモジュールとして、このモジュールを多段に重ねた構造を深い構造と呼ぶ。この深い構造を入力から出力までend-to-endで学習する手法を深層学習(deep learning)と呼ぶ。深層学習では、構成するモジュールをニューラルネットワークによって設計する事が一般的であり、ニューラルネットワークを用いた深い構造をディープニューラルネットワークによって設計する事が一般的であり、ニューラルネットワークを用いた深い構造をディープニューラルネットワーク(deep neural network)と呼ぶ。深層学習を利用する事で、前述した局所特徴抽出やコーディング手法に詳しくなくても、入力データに対して望ましい出力を予測するシステムの構築が可能となる。一方で、適切なネットワーク構造の設計やパラメータの学習が難しいことから、必要となる訓練データ量が増大することが、深層学習の利用時の問題として挙げられる。
- 特徴量はどこから来るのか ヒントンの論文より(分散表現)
岩波書店の「人工知能 チューリング/ブルックス/ヒントン<名著精選〉 心の謎から心の科学へ」の中から、ジェフリー・ヒントンの「Where Do Function Come From?」の紹介。
人間の脳が外界のさまざまなモノや事象(物体の形状、場面の配置、単語の意味、そして文の意味等)を神経活動の時空間パターンとして表現するには、その手段として大きく分けて二通りの方法が考えられる。
一つは、事物一つ一つに対して一個の神経細胞があるような大きな神経細胞プールを準備して、その中の一個の神経細胞を活性化することで、個々の存在物を表そうとするもの。もう一つが各存在物を数多くの神経細胞における活動で表し、個々の神経細胞は多数の存在物の表現にかかわるものとするもの(分散表現)となる。
ここで、そのように人間の頭の情報が分散表現による特徴量で成り立っているとしたとき、その「特徴量」はどこから来るのか?についてヒントンは更に考察を進めている。
- オートエンコーダー DNNの草分け(次元削減)
ジェフリーヒントンのオートエンコーダーの論文である「Reducing the Dimensionality of Data with Neural Networks」から今回は述べたいと思う。
オートエンコーダーは、入力層と出力層に同じベクトルを与えて学習させる。この時、中間層のニューロンの数を入出力層より小さくし、中間層の出力を取り出すと、データの特徴量として圧縮できるというアイデアとなる。
今回は画像認識技術への応用としての畳み込みニューラルネットワークについて述べる。
画像を分類するために、入力層のユニットを画像の各画素値に対応させ、ある層のあるユニットが隣の層のすべてのユニットと結合しているネットワークを考える事が考えられる。この層を全結合層(fully-connected layer)と呼ぶ。しかしながら、サイズの大きい画像に適用するとネットワークに含まれるパラメータ数が膨大となり、学習させる事が難しくなる。
そこで、画像特有の性質を利用してネットワークの構造に制約をかけることでパラメータ数を大きく減らし、学習を容易にすることを考える。ここでは局所特徴での考え方「近隣の画素どうしでは強い関係性をもつが、画素どうしの距離が離れるにつれて関係性が弱くなる」を導入する。
そうするとある層のあるユニットがとなりの層のすべてのユニットと結合しているのではなく、上層の各ユニットの近傍に存在する下層のユニット群(局所ユニット)だけを結合させることを考える事ができる。この上層のユニットが結合している局所領域を局所的受容野(local redeptive field)と呼ぶ。結合を局所に制限する事で、全結合ネットワークと比較してパラメータを減らす事ができる。
また、局所特徴は、画像のどの領域でも有効な特徴であり、同時に画像の一部で有効な特徴抽出であれば、画像の他の部分でも有効な特徴抽出と考え、重み共有(weight sharing)を行う事ができる。この重み共有により、更にパラメータを減らす事ができる。
画像の空間的特性を活かすためにユニットは平面上に並べられるがねこのようなユニット群を特徴マップ(feature map)と呼ぶ。この入力画像にカーネルを適用して特徴マップを操る操作は、入力画像にカーネルを畳み込み演算することと等価となる。このような局所受容野と重み共有の特性を持つ層を畳み込み層(convolution layer)と呼ぶ。
- Word2Vec 次元削減と分散表現
word2VecはTomas Mikolowらによって提案されたオープンソースの深層学習技術となる。原理的には単語のベクトル化(デフォルトのパラメータでは200個の次元)をするもので、200次元の空間上に単語を位置づけ、単語間の類似性(例えばコサイン類似度で評価)を見たり、クラスタリングを行なったりすることができるものとなる。
word2vecはまず入力部として、「文脈」と呼ばれる文の中で注目している単語wtの前後5単語wt-5, wt-4, .., wt-1, wt+1, …, wt+4,wt+5のBag-of-Words表現をインプットして、(注目した)単語wtを出力するようなCBOW(Continuous Bag Of Word)ニューラルネットを学習する。
- 深層学習による自然言語処理(1) 概要(分散表現)
自然言語の画像認識や音声認識と大きく異なる特徴として、処理対象が離散的な「記号」であるというものがある。その反面ニューラルネットの中身はベクトルや行列で表された連続値(最適化の計算も連続的な関数計算として行われる)である為、自然言語処理の処理単位である単語や文といった「離散的な」記号を深層学習/ニューラルネットで処理できるようにベクトルや行列のような「実数値連続領域のデータ」に変換する必要がある。
このような自然言語を表現するモデルとしては様々なものがある。
その橋渡しの一つの手段として「one-hotベクトル表現」がある。これはある次元のベクトルのうち一つの要素だけ1で残りの要素が0のベクトルで、事前に決めた語彙Vがあるとき、語彙数は|V|で表され、語彙V 中の各単語に1から|V|までの単語番号を割り振る。この時与えられた文のi番目に出現した単語の単語番号がnであったときに、i番目の単語を表すベクトルxiは、n番目の要素を1にし、それ以外の要素を0とするベクトルで表現するものになる。
このように、その事象がもつ一つあるいは少数の特徴的な要素で表現することを「局所表現(local representation)」と呼ぶ。それに対してある事象を表現する際に、他の事象と概念を共有する多種多様な特徴の集まりとして表現するものを「分散表現(distributed representation)」と呼ぶ。
グラフデータに対して深層学習を行うフレームワークであるグラフニューラルネットワーク技術の概要。化合物の物性推定やAtttensionを使った自然言語処理、共起ネットワーク、画像情報処理等に活用される
- グラフニューラルネットワーク(2) ツールの活用
- ベイズ推論の応用モデルとしてのニューラルネットワーク
ニューラルネットワークは線形回帰やロジスティック回帰と同様に、入力xから予測値yを直接推定する確率モデルとなる。ここでは、二ューラルネットワークを用いた連続値の回帰アルゴリズムについて述べる。ニューラルネットワークは線形回帰のモデルとは異なり、xからyを予測するための非線形関数をデータから学習できるのが大きな特徴となる。
ここではこれまで述べてきた多くのモデルと同様、ニューラルネットワークを完全にベイズ的に扱うことにし、学習や予測をすべて確率的な(近似)推論で解く。これは最尤推定やMAP推定により得られる一般的なニューラルネットワークと比べて、過剰適合を自然に抑制できたり、予測の不確かさや自信の度合いを定量的に取り扱えるという利点がある。
深層学習の入門書である「これならわかる深層学習入門 機械学習スタートアップシリーズ」より。読書メモを記載する。
今回はアライメントソートのための学習について述べる。
このセクションでは、多くの正しいアラインメント(正例)と正しくないアラインメント(負例)を提示することで、アラインメントのソート方法を学習するアルゴリズムについて説明する。これらのアプローチの主な違いは、本項の技術が学習のためにいくつかのサンプルデータを必要とすることにある。これは、アルゴリズム自身が提供し、判断対象となる対応関係のサブセットのみを用意するなどして、ユーザーが判断することもできるし、外部のリソースから持ってくることもできる。
ここでは、テキストの分類に用いられてきた有名な機械学習法である、ベイズ学習、WHIRL学習、ニューラルネットワーク、サポートベクター・マシーン、決定木などについて述べる。
ニューラルネットワークによる音声認識の研究は、深層学習が登場する前から数多く行われてきた。特に1980年代末にラメルハート(Rumelhart)により逆誤差伝搬方が再発見されたことをきっかけに起きた第2次のニューラルネットワークブームの中で、音声認識への応用がいくつか発表されている。ここではその中でも代表的なものとして、時間遅れニューラルネットワーク、再帰型ニューラルネットワーク、HMM-MLPハイブリッド認織の3つについて述べる。これらは当時は主流にはならなかったが、深層学習を用いた音声認識の基礎となっている手法となる。また深層学習を用いた音声認識においてしばしば用いられる、畳み込みニューラルネットワークについても述べる。
- 画像処理への深層学習の適用(1) 順伝搬と逆伝搬アルゴリズムとミニバッチ
局所特徴抽出、統計的特徴抽出、コーディングやプーリングをそれぞれ一つのモジュールとして、このモジュールを多段に重ねた構造を深い構造と呼ぶ。この深い構造を入力から出力までend-to-endで学習する手法を深層学習(deep learning)と呼ぶ。深層学習では、構成するモジュールをニューラルネットワークによって設計する事が一般的であり、ニューラルネットワークを用いた深い構造をディープニューラルネットワークによって設計する事が一般的であり、ニューラルネットワークを用いた深い構造をディープニューラルネットワーク(deep neural network)と呼ぶ。深層学習を利用する事で、前述した局所特徴抽出やコーディング手法に詳しくなくても、入力データに対して望ましい出力を予測するシステムの構築が可能となる。
今回は、深層学習技術の概要として順伝搬と逆伝搬アルゴリズムとミニバッチについて述べる。
- 画像処理への深層学習の適用(2) CNNの概要と実装
前回に引き続き、深層学習の中でも画像認識に頻繁に用いられれる畳み込みニューラルネットワーク(CNN)の理論的概要と実装について述べる。
- 深層学習へのオンライン学習の適用(1)ミニバッチ確率的勾配降下法、モーメンタム法、加速勾配法
深層学習は深く、幅の広い多層のニューラルネットからなり、大量の学習データの情報を使い切ることで高い性能を得る。ここでは深層学習を実現するためのオンライン学習手法としてミニバッチ確率的勾配降下法、モーメンタム法、加速勾配法等について述べる。
- 深層学習へのオンライン学習の適用(2)AdaGrad、RMSprop、ADADELTA、vSGD
前回に引き続きここでは深層学習を実現するためのオンライン学習手法としてAdaGrad、RMSprop、ADADELTA、vSGDについて述べる。
大規模で複雑なモデルの解析を得意とする深層学習と、モデリングというプロセスを通してデータに仮定できる知識や構造を積極的に導入して、データ欠損や未確定値など「必要なデータが全て揃っていない」ケースで強みを発揮する確率計算に基づく確率的生成モデルは、それぞれが独自に発展してきた。
その過程で、深層学習では主に大量のデータを学習できるスケーラブルなモデルの開発や予測精度の向上が重視され、予測結果の根拠に対する解釈性や信頼度にたいする評価は後回しにされてきた・それに対してベイズ推定は解釈性の高い解析が得られる代わりに、大量・高次元のデータに対してスケールする手段の開発は遅れてきた。
これらに対して、(1)深層学習モデルのベイズ化や(2)既存手法のベイズ解析、あるいは(3)深層学習技術のベイズ推論への応用の3つの方向性が今後考えられる。最初の2つは深層学習手法へのベイズ推論の適用で、過剰適合を自然に抑制したり、ハイパーパラメーターの調整やモデルラン卓をて医療的に行ったり、特に深層生成モデル(deep generative model)ではモデルのデータ生成能力をて医療的に評価する指針にもなる。また他の確率モデルとの組み合わせや、欠損値の補完等も確率計算を通じて自然に行えるようになる。(3)はベイズ推論のための深層学習というアプローチであり、膨大な数の確率変数に対する事後分布の計算に対してニューラルネットを用いて変数の傾向を予測しながら推論する「償却推論(amortized inference)」等の、複雑なモデルに対するベイズ推論を効率化する手法等がある。
- Semantic Wide and Deep Learning for Detecting Crisis-Information Categories on Social Media
- Towards Holistic Concept Representations: Embedding Relational Knowledge, Visual Attributes, and Distributional Word Semantics
- Global RDF Vector Space Embeddings
- Matching Web Tables with Knowledge Base Entities: From Entity Lookups to Entity Embeddings
コメント
[…] 特徴空間においてデータが複雑に分布している場合、非線形な分類器が有効となる。非線形な分類器を構成するには、カーネル法やニューラルネットワークなどを利用した手法が挙げられる。ここでは単純な分類器を複数組み合わせることで、非線形な分類器を構成する集団学習(ensemble learning)について述べる。なおね集団学習はアンサンブル学習とも呼ばれている。 […]
[…] コンピューターサイエンスの根底には数学がある。例えば深層学習や自然言語処理等に用いられるの機械学習には関数から始まり微分/積分を使った最適化の計算が使われ、人工知能で使われるシンボリックなアプローチでは集合論がベースに式の評価が行われたりしている。それらのデジタルトランスフォーメーション応用やITシステム応用を考える前にそれぞれの基礎的な要素について知識を整理することは重要な作業となる。 […]
[…] 並行処理は先述のUIを含めたI/O等の実質上時間がかかる処理と、計算のみの短時間で終わる処理をうまくより分けて実行する主にOSの中での処理に使われ、並列処理は計算処理そのものを細かく分け同時に実行させる深層学習のようなタスクに使われる。 […]
[…] ここで測定されるものは空間的な距離ではなく、イメージの違いの割合となる。上の文字は6%の差しかなく近いイメージとなり、下の文字は21%異なるので違うイメージとなる。ここで計測方法(特徴量の出し方)を工夫すると最近傍法でも手書き文字の認識で99.5%の精度が出る事が報告されており、深層学習のような凝ったアルゴリズムを使わなくとも、このようなシンプルな手法で高精度が得られることが確認されている。 […]
[…] 深層学習(DNN)のwikiのページを読むと「2006年にニューラルネットワークの代表的な研究者であるジェフリー・ヒントンらの研究チームが、制限ボルツマンマシンによるオートエンコーダ(自己符号化器)の深層化に成功[注釈 5]し、…2012年には物体の認識率を競うILSVRCにおいてジェフリー・ヒントン率いるトロント大学のチームがAlexNetによって従来の手法(エラー率26%)に比べてエラー率17%と実に10%もの劇的な進歩を遂げたことが機械学習の研究者らに衝撃を与えた。」とある。 […]
[…] 近代深層学習技術の始まりであるオートエンコーダーについての項で、ヒントンらの論文では先行例としてPCAを述べていた。今回はそのPCAについてもう少し具体的に述べる。 […]
[…] 「Word2Vecにより自然言語処理」より。word2VecはTomas Mikolowらによって提案されたオープンソースの深層学習技術となる。原理的には単語のベクトル化(デフォルトのパラメータでは200個の次元)をするもので、200次元の空間上に単語を位置づけ、単語間の類似性(例えばコサイン類似度で評価)を見たり、クラスタリングを行なったりすることができるものとなる。 […]
[…] また、ゲームの分野の成功も顕著であり、1992年のTesauroによるバックギャモンの成功から、近年では囲碁や将棋、テレビゲームまで強化学習と深層学習を組み合わせた報告が相次いで行われている。 […]
[…] これに対して機械学習の領域では、計算の効率化や最適化アルゴリズムなどを統計理論に取り入れることで、大規模データへの適応を目指して発展してきた。例としては、機械学習の初期の大きな成功であるサポートベクトルマシンや、近年爆発的に発展している高次元スパース学習、そして従来の統計的パターン認識の限界を大きく超え、人間に劣らない認識能力を発達しつつある深層学習等がある。 […]
[…] 天気予報や株式予測といった逐次的な予測・意思決定問題は古くから統計学などの立場で研究されてきた。これに対して近年はコンピューターサイエンスの観点での学習・予測問題としてアルゴリズム的視点からアプローチが行われ「計算学習理論」や、その中でも逐次的な予測問題を扱う理論は「オンライン予測理論」と呼ばれ、深層学習等で発展した最適化理論と結びつき急速な発展を遂げている。 […]
[…] 確率モデルの基本コンセプトは、それら不確実性を持った事象(確率変数)の間を関係性を示した辺で繋いでグラフにするもので、深層学習の始まりに登場した制約つきボルツマンマシン、混合ガウス分布やナイーブベイズもグラフィカルモデルの一種となる。これらは機械学習の複雑なモデルを表すシーンで多く活用されている。 […]
[…] これらで作成されたデータを用いて各種の分類や深層学習の処理が可能になる […]
[…] これらオントロジーによって整理されたナレッジとストリームデータハンドリングに代表されるIOT技術、更にスパースモデリングや深層学習、時系列データ解析等の機械学習技術や、各種推論技術を組み合わせることで、自律的なリスク管理システムの構築が可能となる。 […]
[…] 深層学習に代表される一般的な機械学習技術が特徴量変数の組み合わせから一つの答えを得るものなのに対して、確率生成モデルでは確率的な複数の答えを解として持つことを特徴とする。そのためこれらを用いることで、より複雑な人工知能システムを構築することができる。本ブログではそれら確率的生成モデルに対して、理論のベースとなるベイズ推定とそれらの応用について、以下のように述べる。 […]
[…] このスパースモデリングは、現代の機械学習のブレークスルーとして、深層学習、カーネル法に並ぶものとして挙げられている。 […]
[…] また近年では、言語処理への深層学習の導入として、Attensionという処理をベースとしたTransformerというモジュールを中心に研究が進められている。トランスフォーマーは以下に示すようなブロック図で表され、 […]
[…] ここでトピックモデルとニューラルネットワークの関係について述べる。ニューラルネットの基本は以下に示すボルツマンマシンとなり、深層学習はこれが多段つながっているものとなる […]
[…] 分散表現の詳細に関しては、Word2Vecあるいは深層学習の項に詳細を述べる。 […]
[…] 深層学習も基本的には、この枠組みで行われる。以下に目的関数を最小化するパラメータを求めるいくつかの最適化手法について述べる。 […]
[…] 以前述べた機械学習のアルゴリズム紹介の中でニューラルネットについてざっくりと述べたが今回はそれらを一歩進めた深層学習技術についての全体像を述べる。人工知能学会より出版されている「深層学習Deep Learning」の序文の「深層学習手法の全体像」から。深層学習の全体像は以下の図のようになる。 […]
[…] 自然言語の画像認識や音声認識と大きく異なる特徴として、処理対象が離散的な「記号」であるというものがある。その反面ニューラルネットの中身はベクトルや行列で表された連続値(最適化の計算も連続的な関数計算として行われる)である為、自然言語処理の処理単位である単語や文といった「離散的な」記号を深層学習/ニューラルネットで処理できるようにベクトルや行列のような「実数値連続領域のデータ」に変換する必要がある。 […]
[…] 大規模で複雑なモデルの解析を得意とする深層学習と、モデリングというプロセスを通してデータに仮定できる知識や構造を積極的に導入して、データ欠損や未確定値など「必要なデータが全て揃っていない」ケースで強みを発揮する確率計算に基づく確率的生成モデルは、それぞれが独自に発展してきた。 […]
[…] 深層学習は、複数のユニットで構成される層を多段に積み重ね、ユニット間を重みをつけて結合し、その重みを最下層から最上層までいっきに学習する手法となる。以下画像認識における深層学習について述べる。 […]
[…] ニューラルネットワークによる音声認識の研究は、深層学習が登場する前から数多く行われてきた。特に1980年代末にラメルハート(Rumelhart)により逆誤差伝搬方が再発見されたことをきっかけに起きた第2次のニューラルネットワークブームの中で、音声認識への応用がいくつか発表されている。ここではその中でも代表的なものとして、時間遅れニューラルネットワーク、再帰型ニューラルネットワーク、HMM-MLPハイブリッド認織の3つについて述べる。これらは当時は主流にはならなかったが、深層学習を用いた音声認識の基礎となっている手法となる。また深層学習を用いた音声認識においてしばしば用いられる、畳み込みニューラルネットワークについても述べる。 […]
[…] 2012年のILSVRCにおいて、深い構造を持つ畳み込みニューラルネットワークが既存の画像認識アルゴリズムの性能を大きく上回ったこともあり、深層学習のブームが起こり、2012年以降、画像認識以外の様々な実世界情報を扱う問題に深層学習が適用されるようになってきた。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回は人工知能、機械学習、深層学習についての定義と、深層学習の概要について述べた。今回は、ニューラルネットワークについての数学的要素について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回はニューラルネットのHello WorldであるMNISTデータによる手書き文字認識の実装について述べた。今回は、ニューラルネットワークでの数学的要素であるテンソルのnumpyによる操作について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回はニューラルネットワークでの数学的要素であるテンソルのnumpyによる操作について述べた。今回は前回までのテンソル操作に続き、それらを使った最適化について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回はテンソル操作に続き、それらを使った最適化について述べた。今回はニューラルネットワークの入門としてKerasの使い方の概要について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回はニューラルネットワークの入門としてKerasの使い方の概要について述べた。今回はそれらの実際の適用(テキストデータの2クラス分類)について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回は実際の適用(テキストデータの2クラス分類)について述べた。今回は別の実際の適用例であるニュース配信の多クラス分類について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回は実際の適用例であるニュース配信の多クラス分類について述べた。今回は住宅価格の予測に対する回帰について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回は住宅価格の予測に対する連続値、少数データによる回帰について述べた。今回は機械学習全般として機械学習の方法論について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回は深層学習の最適化の観点からの方法論について述べた。今回はコンピュータービジョンのためのディープラーニングの中で畳み込みとプーリングについて述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回はコンピュータービジョンのためのディープラーニングの中で畳み込みとプーリングについて述べた。今回は小さなデータセットを用いたCNNのデータ拡張による改善について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回は小さなデータセットを用いた画像情報処理のためのCNNのデータ拡張による改善について述べた。今回は学習済みモデルを利用したのCNNの改善について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回は学習済みモデルを利用した画像情報処理のためのCNNの改善について述べた。今回はCNN学習データの可視化について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回はCNN学習データの可視化について述べた。今回は自然言語処理のためのテキストとシーケンスのためのディープラーニングでの学習のためのテキストデータの前処理について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回は自然言語処理であるテキストとシーケンスのためのディープラーニングでの学習のためのテキストデータの前処理について述べた。今回はリカレントニューラルネットワークであるSimpleRNNとLSTMについて述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回は自然言語処理のリカレントニューラルネットワークへの適用の一つであるSimpleRNNとLSTMについて述べた。今回はGRU等のリカレントニューラルネットワークの高度な使い方について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回はリカレントニューラルネットワークの高度な使い方について述べる。今回は双方向RNNでのシーケンス処理とCNNでのシーケンス処理について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回は双方向RNNでのシーケンス処理とCNNでのシーケンス処理について述べた。今回はより高度なディープラーニングのベストプラクティスとしてKeras Functional APIを用いた複雑なネットワークモデルの構築について述べる。 […]
[…] 深層学習のフレームワークとしては様々ものがある。例えばarXivに寄せられた機械学習に関する論文で使われたフレームワークの数の変遷をみると以下の様になる。 […]
[…] 深層学習の入門書である「これならわかる深層学習入門 機械学習スタートアップシリーズ」より。読書メモを記載する。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回はより高度なディープラーニングのベストプラクティスとしてKeras Functional APIを用いた複雑なネットワークモデルの構築について述べた。今回はKerasのコールバックとTensorBordを使ったモデルの監視について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回はKerasのコールバックとTensorBordを使ったモデルの調査と監視について述べた。今回はモデルの最適化の手法について述べる。 […]
[…] 深層学習を行うための「PythonとKerasによるディープラーニング」より。前回はモデルの最適化の手法について述べた。今回はpythonとKerasによるジェネレーティブディープラーニングとしてLSTMを用いたテキスト生成について述べる。 […]
[…] ここで解釈性の評価として、アルゴリズムあるいはモデルの「透明性」について述べられている。これは例えば、画像の分類にCNNを用いる場合、低階層のレイヤーにおいてはエッジの検出及び抽出が行われている、とアルゴリズムがどのように動くかは説明できるが、モデルが最終的に何を学習したのか、個々の予測に対してどのように予測をしたのかという説明に関しては、深層学習で何百万もの重みを勾配降下法を用いて求める手法である為困難になるというものになる。例えば線形モデルに対する最小二乗法のようなアルゴリズムでは透明性は非常に高い。 […]
[…] 人工知能技術サマリー デジダルトランスフォーメーションサマリー 画像情報処理技術サマリー 深層学習技術サマリー 機械学習技術サマリー […]
[…] 人工知能技術サマリー デジダルトランスフォーメーションサマリー 画像情報処理技術サマリー 深層学習技術サマリー サポートベクトルマシンサマリー 決定木等基本機械学習サマリー. 機械学習技術サマリー […]
[…] 深層学習技術サマリー […]
[…] 深層学習技術サマリー […]
[…] 自然言語処理技術、画像認識技術のための発展的深層学習技術が記載された「つくりながら学ぶ!PyTorchによる発展ディープラーニング」より。 […]
[…] 人工知能技術サマリー デジダルトランスフォーメーションサマリー 機械学習技術サマリー 深層学習サマリー 確率生成モデルサマリー […]
[…] 深層学習サマリー 確率生成モデルサマリー. […]
[…] 深層学習サマリー 確率生成モデルサマリー. […]
[…] 人工知能技術サマリー デジダルトランスフォーメーションサマリー 機械学習技術サマリー 深層学習サマリー 確率生成モデルサマリー. 音声認識技術サマリー […]
[…] 人工知能技術サマリー デジダルトランスフォーメーションサマリー 機械学習技術サマリー 深層学習サマリー 確率生成モデルサマリー. 音声認識技術サマリー […]
[…] 人工知能技術サマリー デジダルトランスフォーメーションサマリー 機械学習技術サマリー 深層学習サマリー 確率生成モデルサマリー. 音声認識技術サマリー […]
[…] 人工知能技術サマリー デジダルトランスフォーメーションサマリー 機械学習技術サマリー 深層学習サマリー 確率生成モデルサマリー. 音声認識技術サマリー […]
[…] 人工知能技術サマリー デジダルトランスフォーメーションサマリー 機械学習技術サマリー 深層学習サマリー 確率生成モデルサマリー. 音声認識技術サマリー […]
[…] 人工知能技術サマリー デジダルトランスフォーメーションサマリー 機械学習技術サマリー 深層学習サマリー 確率生成モデルサマリー. 音声認識技術サマリー […]
[…] 深層学習技術サマリー […]
[…] 機械学習技術サマリー 人工知能技術サマリー デジタルトランスフォーメーション技術サマリー 自然言語処理技術サマリー マルコフ連鎖モンテカルロ法サマリー 深層学習技術サマリー 確率生成モデルサマリー トピックモデルサマリー […]
[…] 機械学習技術サマリー 人工知能技術サマリー デジタルトランスフォーメーション技術サマリー 自然言語処理技術サマリー マルコフ連鎖モンテカルロ法サマリー 深層学習技術サマリー 確率生成モデルサマリー トピックモデルサマリー […]
[…] 機械学習技術サマリー 人工知能技術サマリー デジタルトランスフォーメーション技術サマリー 自然言語処理技術サマリー マルコフ連鎖モンテカルロ法サマリー 深層学習技術サマリー 確率生成モデルサマリー トピックモデルサマリー […]
[…] 機械学習技術サマリー 深層学習技術サマリー 強化学習技術サマリー 確率生成モデルサマリー 人工知能技術サマリー. デジタルトランスフォーメーションサマリー […]
[…] 機械学習技術サマリー 深層学習技術サマリー 強化学習技術サマリー 確率生成モデルサマリー 人工知能技術サマリー. デジタルトランスフォーメーションサマリー […]
[…] コンピューターサイエンスの根底には数学がある。例えば深層学習や自然言語処理等に用いられるの機械学習には関数から始まり微分/積分を使った最適化の計算が使われ、人工知能で使われるシンボリックなアプローチでは集合論がベースに式の評価が行われたりしている。それらのデジタルトランスフォーメーション応用やITシステム応用を考える前にそれぞれの基礎的な要素について知識を整理することは重要な作業となる。 […]
[…] 機械学習技術サマリー 深層学習技術サマリー 強化学習技術サマリー 確率生成モデルサマリー 人工知能技術サマリー. デジタルトランスフォーメーションサマリー […]
[…] 機械学習技術サマリー 人工知能技術サマリー プログラミング技術サマリー デジタルトランスフォーメーションサマリー 深層学習サマリー 自然言語処理サマリー ITシステムサマリー 自然言語処理サマリー 機械学習における数学サマリー […]
[…] 機械学習技術サマリー 深層学習技術サマリー 強化学習技術サマリー 確率生成モデルサマリー 人工知能技術サマリー. デジタルトランスフォーメーションサマリー […]
[…] 人工知能技術、機械学習技術のブレークスルーの一つである深層学習 | Deus Ex Machina より: 2021年11月11日 6:12 PM […]
[…] 人工知能技術サマリー デジダルトランスフォーメーションサマリー 確率的生成モデルサマリー 機械学習技術サマリー 深層学習技術サマリー […]
[…] ウェブ技術サマリー デジタルトランスフォーメーション技術サマリー 人工知能技術サマリー 自然言語処理技術サマリー セマンティックウェブ技術サマリー 深層学習技術サマリー オンライン学習&強化学習技術サマリー ユーザーインターフェース技術サマリー 知識情報処理技術サマリー 推論技術サマリー […]
[…] ウェブ技術サマリー デジタルトランスフォーメーション技術サマリー 人工知能技術サマリー 自然言語処理技術サマリー セマンティックウェブ技術サマリー 深層学習技術サマリー オンライン学習&強化学習技術サマリー チャットボットと質疑応答技術サマリー ユーザーインターフェース技術サマリー 知識情報処理技術サマリー 推論技術サマリー […]
[…] ウェブ技術サマリー デジタルトランスフォーメーション技術サマリー 人工知能技術サマリー 自然言語処理技術サマリー セマンティックウェブ技術サマリー 深層学習技術サマリー オンライン学習&強化学習技術サマリー チャットボットと質疑応答技術サマリー ユーザーインターフェース技術サマリー 知識情報処理技術サマリー 推論技術サマリー […]
[…] 人工知能技術サマリー 機械学習技術サマリー 深層学習技術サマリー 確率的生成モデルサマリー 自然言語処理技術サマリー トピックモデルサマリー オントロジー技術サマリー デジタルトランスフォーメーションサマリー 知識情報処理サマリー life tips&雑記サマリー 禅と人工知能サマリー […]
[…] 機械学習技術サマリー 人工知能技術サマリー プログラミング技術サマリー デジタルトランスフォーメーションサマリー 深層学習サマリー 自然言語処理サマリー ITシステムサマリー 機械学習における数学サマリー […]
[…] 人工知能技術サマリー 機械学習技術サマリー 深層学習技術サマリー 確率的生成モデルサマリー 自然言語処理技術サマリー トピックモデルサマリー オントロジー技術サマリー デジタルトランスフォーメーションサマリー 知識情報処理サマリー life tips&雑記サマリー 禅と人工知能サマリー […]
[…] 機械学習技術サマリー 人工知能技術サマリー デジタルトランスフォーメーション技術サマリー 自然言語処理技術サマリー マルコフ連鎖モンテカルロ法サマリー 深層学習技術サマリー ノンパラメトリックベイズとガウス過程 確率的生成モデルサマリー […]
[…] ウェブ技術 デジタルトランスフォーメーション技術 人工知能技術 自然言語処理技術 セマンティックウェブ技術 深層学習技術 オンライン学習&強化学習技術 チャットボットと質疑応答技術 ユーザーインターフェース技術 知識情報処理技術 Prologと知識情報処理 推論技術 […]
[…] ウェブ技術 デジタルトランスフォーメーション技術 人工知能技術 自然言語処理技術 セマンティックウェブ技術 深層学習技術 オンライン学習&強化学習技術 チャットボットと質疑応答技術 ユーザーインターフェース技術 知識情報処理技術 推論技術 プログラミング […]
[…] ウェブ技術 デジタルトランスフォーメーション技術 人工知能技術 自然言語処理技術 セマンティックウェブ技術 深層学習技術 オンライン学習&強化学習技術 チャットボットと質疑応答技術 ユーザーインターフェース技術 知識情報処理技術 推論技術 プログラミング […]
[…] ウェブ技術 デジタルトランスフォーメーション技術 人工知能技術 自然言語処理技術 セマンティックウェブ技術 深層学習技術 オンライン学習&強化学習技術 チャットボットと質疑応答技術 ユーザーインターフェース技術 知識情報処理技術 推論技術 プログラミング […]
[…] 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 オントロジー技術 知識情報処理 AI学会論文集を集めて デジタルトランスフォーメーション技術 […]
[…] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 自然言語処理技術 マルコフ連鎖モンテカルロ法 深層学習技術 確率生成モデル トピックモデル […]
[…] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 自然言語処理技術 マルコフ連鎖モンテカルロ法 深層学習技術 確率生成モデル トピックモデル […]
[…] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 自然言語処理技術 マルコフ連鎖モンテカルロ法 深層学習技術 確率生成モデル トピックモデル […]
[…] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 自然言語処理技術 マルコフ連鎖モンテカルロ法 深層学習技術 確率生成モデル トピックモデル […]
[…] 機械学習技術サマリー 人工知能技術サマリー デジタルトランスフォーメーション技術サマリー 自然言語処理技術サマリー マルコフ連鎖モンテカルロ法サマリー 深層学習技術サマリー 確率生成モデルサマリー トピックモデルサマリー […]
[…] 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 オントロジー技術 知識情報処理 AI学会論文集を集めて デジタルトランスフォーメーション技術 […]
[…] ウェブ技術 デジタルトランスフォーメーション技術 人工知能技術 自然言語処理技術 セマンティックウェブ技術 深層学習技術 オンライン学習&強化学習技術 チャットボットと質疑応答技術 ユーザーインターフェース技術 知識情報処理技術 推論技術 禅と人工知能 […]
[…] 人工知能技術 デジダルトランスフォーメーション 機械学習技術 深層学習 確率生成モデル […]
[…] 人工知能技術 デジダルトランスフォーメーション 機械学習技術 深層学習 確率生成モデル 画像情報処理技術 […]
[…] 人工知能技術 デジダルトランスフォーメーション 機械学習技術 深層学習 確率生成モデル 画像情報処理技術 […]
[…] 人工知能技術 デジダルトランスフォーメーション 機械学習技術 深層学習 確率生成モデル 画像情報処理技術 […]
[…] 深層学習 確率生成モデル 画像情報処理技術 […]
[…] 人工知能技術 デジダルトランスフォーメーション 機械学習技術 深層学習 確率生成モデル 画像情報処理技術 サポートベクトルマシン技術 […]
[…] 人工知能技術 デジダルトランスフォーメーション 機械学習技術 深層学習 確率生成モデル 画像情報処理技術 一般的な機械学習サマリー […]
[…] 人工知能技術 デジダルトランスフォーメーション 機械学習技術 深層学習 確率生成モデル 画像情報処理技術 サポートベクトルマシン 一般的な機械学習 […]
[…] 深層学習 確率生成モデル 画像情報処理技術 検索技術 […]
[…] 深層学習 確率生成モデル 画像情報処理技術 検索技術 […]
[…] 人工知能技術 デジダルトランスフォーメーション 画像情報処理技術 深層学習技術 自然言語処理 機械学習技術 アルゴリズム […]
[…] 人工知能技術 デジダルトランスフォーメーション 深層学習技術 自然言語処理サマリー 機械学習技術 […]
[…] 人工知能技術 デジダルトランスフォーメーション 深層学習技術 自然言語処理サマリー 機械学習技術 […]
[…] 機械学習プロフェッショナルシリーズ「深層学習による自然言語処理」より。自然言語の画像認識や音声認識と大きく異なる特徴として、処理対象が離散的な「記号」であるというものがある。その反面ニューラルネットの中身はベクトルや行列で表された連続値(最適化の計算も連続的な関数計算として行われる)である為、自然言語処理の処理単位である単語や文といった「離散的な」記号を深層学習/ニューラルネットで処理できるようにベクトルや行列のような「実数値連続領域のデータ」に変換する必要がある。 […]
[…] 人工知能技術 デジダルトランスフォーメーション 深層学習技術 機械学習技術 […]
[…] 機械学習技術 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 自然言語処理 ITシステム 機械学習における数学 […]
[…] 機械学習技術 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 自然言語処理 ITシステム 機械学習における数学 […]
[…] ウェブ技術 デジタルトランスフォーメーション技術 人工知能技術 自然言語処理技術 セマンティックウェブ技術 深層学習技術 オンライン学習&強化学習技術 チャットボットと質疑応答技術 ユーザーインターフェース技術 知識情報処理技術 推論技術 […]
[…] 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 オントロジー技術 知識情報処理 AI学会論文集を集めて デジタルトランスフォーメーション技術 […]
[…] 深層学習技術 ノンパラメトリックベイズとガウス過程 […]
[…] 機械学習技術 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 自然言語処理 ITシステム 情報理論&計算機工学 テクノロジー 機械学習における数学 […]
[…] 深層学習技術 […]
[…] 人工知能技術 デジダルトランスフォーメーション 機械学習技術 深層学習 確率生成モデル 画像情報処理技術 […]
[…] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 自然言語処理技術 マルコフ連鎖モンテカルロ法 深層学習技術 ノンパラメトリックベイズとガウス過程 異常検知と変化検知技術 時系列データ解析 確率的生成モデル […]
[…] センサーデータ/IOT技術 強化学習技術 深層学習技術 確率生成モデル […]
[…] センサーデータ/IOT技術 強化学習技術 深層学習技術 確率生成モデル […]
[…] センサーデータ/IOT技術 強化学習技術 深層学習技術 確率生成モデル […]
[…] デジタルトランスフォーメーション 確率的生成モデル 機械学習技術 深層学習技術 オンライン学習とオンライン予測 バンディット問題 劣モジュラ最適化 […]
[…] センサーデータ/IOT技術 強化学習技術 深層学習技術 確率生成モデル […]
[…] センサーデータ/IOT技術 強化学習技術 深層学習技術 確率生成モデル […]
[…] 自然言語処理技術 マルコフ連鎖モンテカルロ法 知識情報処理 深層学習技術 強化学習 説明できる機械学習 […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python […]
[…] コンピューターアーキテクチャ ITインフラストラクチャ技術 深層学習 機械学習における数学 […]
[…] Facebook はてブ Pocket LINE コピー 2023.06.27 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2023.06.28 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 深層学習技術 一般的な機械学習 R言語と機械学習 […]
[…] デジタルトランスフォーメーション技術 マルコフ連鎖モンテカルロ法 深層学習技術 確率生成モデル トピックモデル […]
[…] 機械学習 自然言語処理技術 推論技術 セマンティックウェブ技術 深層学習技術 オンライン学習 強化学習技術 チャットボットと質疑応答技術 […]
[…] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 深層学習技術 一般的な機械学習 R言語と機械学習 Python […]
[…] Facebook はてブ Pocket LINE コピー 2023.07.05 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] 人工知能技術 自然言語処理技術 IOT セマンティックウェブ技術 深層学習技術 オンライン学習&強化学習技術 ユーザーインターフェース技術 […]
[…] コンピューターアーキテクチャ ITインフラストラクチャ 深層学習 機械学習における数学 コンピュータのハードウェア DXの事例 […]
[…] ITインフラストラクチャ技術 機械学習における数学 深層学習 […]
[…] の知識が必要となるが、それらの詳細に関しては”深層学習について“を参照のこと。 […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 技術の選択の基準としては、深層学習、強化学習、確率的生成モデル、自然言語処理、説明できる機械学習、知識情報処理などの本ブログに記載しているものは、それぞれのリンク先の […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 時系列データ学習 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 強化学習技術 暗号化とセキュリティ技術およびデータ圧縮技術 深層学習技術 確率生成モデル 推薦技術 […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] デジタルトランスフォーメーション 確率的生成モデル 機械学習技術 深層学習技術 オンライン予測技術 センサーデータ/IOT技術 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] コンピューターサイエンスの根底には数学がある。例えば深層学習や自然言語処理等に用いられるの機械学習には関数から始まり微分/積分を使った最適化の計算が使われ、人工知能で使われるシンボリックなアプローチでは集合論がベースに式の評価が行われたりしている。それらのデジタルトランスフォーメーション応用やITシステム応用を考える前にそれぞれの基礎的な要素について知識を整理することは重要な作業となる。 […]
[…] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 深層学習 確率生成モデル 画像情報処理技術 一般的な機械学習 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] アルゴリズムとデータ構造 自然言語処理技術 深層学習技術 ベイズ推論とMCMCのフリーソフト MCMC 確率的生成モデル Python R Clojure […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 深層学習一般に関しては”深層学習について“を、機械学習による自動生成に関しては”機械学習による自動生成“も参照のこと。 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] デジタルトランスフォーメーション技術 マルコフ連鎖モンテカルロ法 深層学習技術 確率生成モデル トピックモデル オントロジー技術 知識情報処理 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] “深層学習について“でも述べている深層学習技術を活用した新たな探索アルゴリズムが開発されている。例えば、”様々な強化学習技術の理論とアルゴリズムとpythonによる実 […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 自然言語処理技術 セマンティックウェブ技術 深層学習技術 オンライン学習&強化学習技術 チャットボットと質疑応答技術 […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 確率的生成モデル 本ブログのナビ 深層学習技術 […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 自然言語処理 ITシステム 機械学習における数学 […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 自然言語処理 ITシステム 機械学習における数学 […]
[…] デジタルトランスフォーメーション技術 自然言語処理技術 深層学習技術 ベイズ推論とMCMCのフリーソフト R言語と機械学習 MCMC […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 自然言語処理 ITシステム 機械学習における数学 […]
[…] 機械学習技術 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 自然言語処理 ITシステム 情報理論&計算機工学 機械学習における数学 […]
[…] ITインフラストラクチャ技術 機械学習における数学 深層学習 人工知能技術について DXの事例 経済とビジネス 物理・数学 […]
[…] 人工知能技術の理論と数学とアルゴリズム 機械学習における数学 深層学習 […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 機械学習 自然言語処理技術 推論技術 セマンティックウェブ技術 深層学習技術 オンライン学習 強化学習技術 チャットボットと質疑応答技術 […]
[…] ディープラーニングと生成モデル: 線画のラベル付けにおいては、”深層学習について“にも述べているディープラーニングを用いた生成モデルも有効となる。また、条件付き生成 […]
[…] デジタルトランスフォーメーション 確率的生成モデル 機械学習技術 深層学習技術 オンライン学習技術 センサーデータ/IOT技術 […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] デジタルトランスフォーメーション技術 マルコフ連鎖モンテカルロ法 深層学習技術 確率生成モデル トピックモデル […]
[…] Facebook はてブ Pocket LINE コピー 2024.03.20 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] 確率的生成モデル アルゴリズム 自然言語処理技術 深層学習技術 トピックモデル マルコフ連鎖モンテカルロ法 python R言語 […]
[…] Facebook はてブ Pocket LINE コピー 2024.03.26 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.03.27 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.03.28 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.03.29 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.03.30 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.03.31 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.04.01 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.04.02 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.04.03 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.04.04 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.04.05 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.04.06 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.04.12 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.04.14 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] Facebook はてブ Pocket LINE コピー 2024.04.18 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] Facebook はてブ Pocket LINE コピー 2024.04.25 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] センサーデータ/IOT技術 オンライン学習技術 深層学習技術 確率生成モデル 強化学習技術 […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] Facebook はてブ Pocket LINE コピー 2024.05.10 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] ITインフラストラクチャ技術 機械学習における数学 深層学習 人工知能技術について 物理・数学 […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] Facebook はてブ Pocket LINE コピー 2024.08.17 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] 今回は海外の著名な学会から抽出した注目される技術とその代表的な論文について述べている。技術の選択の基準としては、深層学習、強化学習、確率的生成モデル、自然言語処理、説明できる機械学習、知識情報処理などの本ブログに記載しているものは、それぞれのリンク先の記事を参考にすることとし、それら以外の技術のピックアップを意識して行っている。 […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 物理・数学 […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 機械学習における数学 データの情報幾何的アプローチ […]
[…] 人工知能技術の理論と数学とアルゴリズム 機械学習における数学 深層学習 […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 深層学習 確率生成モデル 画像情報処理技術 一般的な機械学習 […]
[…] 機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 深層学習 確率生成モデル 画像情報処理技術 一般的な機械学習 […]
[…] コンピューターアーキテクチャ ITインフラストラクチャ技術 深層学習 機械学習における数学 コンピュータのハードウェア […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] Facebook はてブ Pocket LINE コピー 2024.10.10 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.10.19 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] Facebook はてブ Pocket LINE コピー 2024.10.26 機械学習技術 人工知能技術 深層学習技術 自然言語処理技術 セマンティックウェブ技術 知識情報処理 […]
[…] センサーデータ/IOT技術 オンライン学習 深層学習技術 確率生成モデル 強化学習技術 python 経済とビジネス […]
[…] 自然言語処理技術 マルコフ連鎖モンテカルロ法 知識情報処理 深層学習技術 強化学習 説明できる機械学習 一般的な機械学習 […]