試験公開中

このエントリーをはてなブックマークに追加

C++で学ぶディープラーニング

マイナビ出版

3,949円 (3,590円+税)

ニューラルネットワークの基礎から実装まで、C++のサンプルコードで学ぶ!本書はディープラーニング(深層学習)のベースとなっているニューラルネットワークからその派生技術や応用まで、実際に動くC++のソースコードを参照しながら学ぶ内容となっています。

関連サイト

本書の関連ページが用意されています。

内容紹介

本書は、ディープラーニング(深層学習)の基礎を学ぶ初級者やソフトウェアエンジニアの方を対象に、ディープラーニングのベースとなっているニューラルネットワークからその派生技術や応用まで、実際に動くC++のソースコードを参照しながら学ぶ内容となっています。前半はニューラルネットワークに関する必須知識を扱い、後半ではニューラルネットワークの派生技術や応用に言及し、徐々に高度な内容となっていきます。

【本書の内容】

Chapter1……ディープラーニングの概要と、ニューラルネットワーク構築時に最低限必要なC++プログラミングの知識をまとめる。
Chapter2……並列プログラミングの知識や行列演算を解説。
Chapter3……パーセプトロンと呼ばれるニューラルネットワークの最小単位となるユニット、パーセプトロンを重ねたニューラルネットワークの基本形である層状パーセプトロン(MLP)を説明。
Chapter4……ニューラルネットワークのパラメーター学習方法である誤差逆伝播法を解説。
Chapter5……多層パーセプトロンを用いた手書き数字の画像認識を、実際にコーディングしながら動かすことで、ディープラーニングを体験。ニューラルネットワークの基礎が詰まったベーシックな分類モデルを構築し、処理全体の流れを把握する。
Chapter6……機械学習全般で発生する過学習をニューラルネットワークで抑えるテクニックを紹介。本章以降からはディープラーニングの範疇となる。
Chapter7……ディープラーニングがブレイクするきっかけとなったオートエンコーダーを解説。
Chapter8……ディープラーニングの花形といわれる畳み込みニューラルネットワークを解説。主に画像認識で利用され、近年めざましい成果をあげている。
Chapter9……再帰型ニューラルネットワークを使い、自然言語処理への応用例を紹介。統計的機械翻訳や自動応答、音声認識などの分野で、近年のAIの大きな進化の推進役となる。

本書では開発言語としてC++を採用しています。C++でほぼすべてをスクラッチから実装しており、最終的に完成するコードはディープラーニングのC++フレームワークとして機能します。サンプルコードはダウンロード可能。

書誌情報

  • 著者: 藤田毅, 丸山弘詩
  • 発行日: (紙書籍版発行日: 2017-06-26)
  • 最終更新日: 2017-06-26
  • バージョン: 1.0.0
  • ページ数: 264ページ(PDF版換算)
  • 対応フォーマット: PDF
  • 出版社: マイナビ出版

対象読者

プログラマー、エンジニア

著者について

藤田毅

エキサイト株式会社テクノロジー戦略室室長ならびにExcite Media Service PH Inc.取締役。機械学習をベースとしたプロダクト開発に従事し、コンテンツレコメンデーションエンジンWisteriaなど、自社サービスの開発指揮を執っている。2000年エキサイト株式会社入社後、Web検索エンジンの開発運用に携わり、インフラ責任者やアプリケーション開発責任者として活躍。2008年にWebサイトの受託開発、モバイル向けアプリケーションやゲームを開発・運用会社を設立。2013年にはビッグデータ解析を核とするスタートアップ企業にジョインし、ソーシャルメディア上のデータ解析および株価分析などを担当。2015年以降はエキサイト株式会社に戻り現職に至る。

目次

Chapter1 ディープラーニング概論

  • 1-1 ディープラーニング
  • 1-2 本書で必要とするC++の機能

Chapter2 ニューラルネットワークのための行列演算と並列プログラミング

  • 2-1 GPUの活用
  • 2-2 CUDAプログラミング
  • 2-3 行列演算

Chapter3 ニューラルネットワーク

  • 3-1 単純パーセプトロン
  • 3-2 層状パーセプトロン
  • 3-3 ニューラルネットワークのパラメータ推定

Chapter4 誤差逆伝播

  • 4-1 順方向の計算
  • 4-2 微分の連鎖率
  • 4-3 勾配消失問題

Chapter5 C++によるニューラルネットワークの実装

  • 5-1 後退型自動微分の実装
  • 5-2 関数ラッパー
  • 5-3 モデル
  • 5-4 オプティマイザー
  • 5-5 MNISTを例にした学習と評価
  • 5-6 Irisを例にした学習と評価

Chapter6 学習の最適化と過学習

  • 6-1 学習の最適化
  • 6-2 過学習への対応

Chapter7 事前学習

  • 7-1 オートエンコーダーと事前学習
  • 7-2 オートエンコーダーの実装

Chapter8 畳み込みニューラルネットワーク

  • 8-1 畳み込み
  • 8-2 畳み込み層
  • 8-3 CIFAR-10 を使った画像認識

Chapter9 再帰型ニューラルネットワーク

  • 9-1 広く応用できる再帰型ニューラルネットワーク
  • 9-2 再帰型ニューラルネットワークの問題点と解決策
  • 9-3 単語のベクトル表現
  • 9-4 翻訳モデル・アテンションモデル
  • 9-5 自動翻訳の実装
Home 書籍一覧 C++で学ぶディープラーニング ▲ ページトップへ戻る