趣味のPython・深層学習

中級者のための実装集

2024-04-01から1ヶ月間の記事一覧

専門的な技術文章をわかりやすく書くための9つの掟

高度な専門性と極めてのわかりやすさを両立させた技術文章を書くことは、文章執筆における最高の到達点と言えるでしょう。言語の醍醐味は、背景知識の異なる者同士が上手く意思の疎通ができることにあります。そこで本稿では、専門的でありながらも誰もが理…

潜在変数変数とは結局なんなのか

1. 潜在変数の概念 潜在変数とは、直接観測できない潜在的な変数のことを指します。具体的には、データに潜む隠れた要因や特性、原因などを表す変数のことを意味します。 例えば、人間の能力を表す潜在変数としては、知能や創造性、パーソナリティなどが考え…

EMアルゴリズムと潜在変数

今回は機械学習の重要なトピックである「潜在変数モデル」と「EMアルゴリズム」について、実装例を交えながら丁寧に解説していきます。 潜在変数モデルとは? 潜在変数モデルでは、観測できる変数(データ)と観測できない潜在変数(隠れた要因)の間に何らかの関…

機械学習で学ぶSOLID原則

機械学習実装でSOLID原則を理解する ソフトウェア設計における重要な原則の一つであるSOLID原則は、機械学習の実装においても適用できます。SOLID原則は、コードの保守性、拡張性、テスト容易性を高めることを目的としています。この記事では、機械学習のコ…

Pythonで学ぶSOLID原則

PythonでSOLID原則を学ぶ SOLID 原則は、ロバート・C・マーティンによって提唱されたオブジェクト指向プログラミングの5つの原則です。この原則に従うことで、コードの柔軟性、保守性、拡張性が向上します。Pythonでもこの原則を適用することができます。 単…

ONNXによるC++ベース機械学習推論

ONNXを使ってPyTorchモデルの推論を高速化する 機械学習モデルの実運用においては、推論時間の高速化が非常に重要な課題となります。特に大規模モデルを使う場合、推論に時間がかかり過ぎると実用的ではなくなってしまいます。幸いPyTorchには、ONNXを使って…

PyTorch推論時間の高速化

PyTorchモデルの推論時間を最適化する | たった1行のコードで2倍の高速化 機械学習コンペティションでは、しばしば推論時間に厳しい制限があります。例えば、1100サンプルに対して120分以内にCPUで推論を完了しなければならない場合などです。このような状況…

PyTorchのメモリ節約小技

PyTorchでメモリ使用量を最小限に抑える PyTorchを使ってディープラーニングのモデルを構築する際、メモリ使用量を最小限に抑えることが非常に重要です。メモリの効率的な利用によって、モデルの学習がスムーズに進み、また推論時のパフォーマンスも向上しま…

【2d reshape】スペクトル機械学習の魔法の考察

スペクトルデータの2次元化が機械学習モデルの性能を向上させる理由 入力データの次元性 機械学習モデル、特に畳み込みニューラルネットワーク(CNN)は、一般に2次元または3次元の入力データを扱うように設計されています。1次元のデータを直接CNNに入力する…

PyTorch で複数モデルを繋げる方法

PyTorchで複数のモデルの出力をアンサンブルする方法 こんにちは。今日は、PyTorchで複数の深層学習モデルの出力をアンサンブルする方法について説明します。 アンサンブル学習は、単一のモデルよりも高い予測精度を得るための強力な手法です。異なる種類の…

残差ネットワークの本質

はじめに 近年、深層学習モデルの性能は目覚ましい進化を遂げてきました。しかしその一方で、ネットワークの層が極端に深くなるにつれ、勾配消失問題などの新たな課題が生じてきました。この問題を解決するため、2015年にMicrosoft ResearchのHe氏らによって…