codeplea/genann
simple neural network library in C99
何を解決するか
Genann は C 言語でフィードフォワード人工ニューラルネットワーク(ANN)を実装するための最小限で軽量な方法を提供します。重い機械学習フレームワークの複雑さを排除し、外部依存なしに基本的なニューラルネットワーク機能が必要な開発者向けに、シンプルで高速かつ信頼性の高いライブラリを提供します。
動作方法
このライブラリは1つのソースファイルとヘッダーに収められています。特定の入力数、隠れ層、出力数を持つネットワークを初期化できます。標準的な誤差逆伝播法に加え、遺伝的アルゴリズムや勾配上昇法といった代替手法による学習もサポートしており、すべてのネットワーク重みを連続したメモリブロックに格納することで、最適化が容易です。また、シグモイド、ReLU、tanh などの複数の組み込み活性化関数も提供しています。
対象ユーザー
XOR関数や基本的なデータセット分類(例:IRISデータセット)といった簡単なタスクに使用できる、カスタマイズ可能で外部依存のないニューラルネットワークライブラリを必要とする C 開発者。
特徴
- ゼロ依存: C99 で記述されており、外部ライブラリを必要としません。
- コンパクト: プロジェクト全体は
genann.cとgenann.hの2つのファイルで構成されています。 - 柔軟な学習: 誤差逆伝播法に加え、直接探索型数値最適化もサポートしています。
- スレッドセーフ: マルチスレッド環境での高速かつ安全な使用を設計されています。
- 永続化: トレーニング済みネットワークをファイルに保存・読み込みするための組み込み関数を備えています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト