メディアのためのアルゴリズム - 並べ替えから深層学習まで -

メディア学大系 18

メディアのためのアルゴリズム - 並べ替えから深層学習まで -

アルゴリズムの基礎知識から応用,人工知能技術の現状や将来について幅広く知りたい方必読

  • 口絵
ジャンル
発行年月日
2023/09/08
判型
A5
ページ数
254ページ
ISBN
978-4-339-02776-1
メディアのためのアルゴリズム - 並べ替えから深層学習まで -
在庫あり
2営業日以内に出荷致します。

定価

3,850(本体3,500円+税)

カートに入れる

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • 著者紹介
  • 広告掲載情報

アルゴリズムの基本的な考え方から,さまざまな分野で使われる代表的なアルゴリズム(並べ替え,データ探索,経路探索,データの圧縮と展開,誤り検出・訂正,セキュリティ・暗号),人工知能や機械学習に関する内容まで丁寧に解説。

現代社会において,われわれが日々接する情報の大部分は,コンピュータシステムによって処理されている。そして,その情報を処理するうえで重要な役割を果たすのが,アルゴリズムである。アルゴリズムは,入力されたデータを処理して,目的とする出力を得るための手続きや手順を表したものである。例えば,検索エンジンでの検索結果の表示や,SNSでのフィードの表示など,私たちが日々目にする情報の並べ替えや整理に使われている。さらには,インターネットでの動画配信を支えるデータ圧縮やロールプレイングゲームの中でキャラクターが進むべき道を見つけ出す経路探索,インターネット上で安全な商取引を行うための暗号など,メディアコンテンツの中にもさまざまなアルゴリズムが利用されている。

近年,著しい発達をしている人工知能(AI)もアルゴリズムの一つといえる。2010年代に第3次人工知能ブームに入って以来,AI技術の進歩は急激に速まり,囲碁,将棋などの分野で人間のチャンピオンに勝てる能力を持つソフトウェアが登場し注目を集めた。特に2022年は画像生成AIや対話AIなどでいくつもの生成系AI(generative AI)が登場し驚くべき成果を出している。人工知能技術はますます進化を続けており,私たちの生活や社会に大きな変革をもたらす可能性を秘めている。

本書は,幅広い分野を網羅しながら,アルゴリズムに関する知識を詳しく解説している。まず,アルゴリズムの基礎的な考え方から始まり,その後は並べ替えやデータ探索,経路探索,データの圧縮と展開,誤り検出・訂正,セキュリティ・暗号といったさまざまなトピックスを取り上げている。

また,特に注目されている人工知能技術の一つであるニューラルネットワークと深層学習についても詳細な解説を行っている。これにより,代表的なアルゴリズムについての理解を深めると同時に,最新の人工知能技術にも触れることができる。

1章では,アルゴリズムの考え方について説明し,2~4章では,並べ替え,データ探索,経路探索といった基本的なアルゴリズムについて述べている。この1~4章は寺澤が執筆した。5~7章では,データ圧縮,誤り検出,暗号といった応用的なアルゴリズムについて,羽田が執筆した。後半は人工知能について扱い,8章では人工知能の基礎について,9~11章ではニューラルネットワークの基本から,畳み込みニューラルネットワーク,学習の効率化について述べ,12,13章では深層学習とそれらを応用したさまざまな技術について解説している。8~13章は藤澤が執筆した。

本書を読むことで,読者がアルゴリズムについての基礎知識から応用まで理解し,人工知能技術の現状や将来について洞察して,より深く学ぶきっかけになれば幸いである。

人工知能は,いまこの「まえがき」を書いている時点から本書が実際に出版されるまでの間にもいっそうの発展を遂げ,さらに,その後もますます進化していくであろう。本書の読者には,それらの変化に取り残されないために,本書を通じてアルゴリズムや人工知能技術についての本質を理解し,活用する力を身に付けていただければと考えている。

なお,本書の演習問題の解答,サンプルコードなどは,コロナ社の書籍詳細ページに記載されているので,参考にしてほしい。

2023年7月
藤澤公也・寺澤卓也・羽田久一

1.アルゴリズムの基本
1.1 アルゴリズムとは 
1.2 データ構造 
 1.2.1 変数 
 1.2.2 配列 
 1.2.3 キュー 
 1.2.4 スタック 
 1.2.5 ポインタ 
 1.2.6 構造体 
 1.2.7 リスト 
 1.2.8 木構造 
 1.2.9 連想配列 
1.3 アルゴリズムからプログラムへ 
 1.3.1 条件分岐と繰返し 
 1.3.2 サブルーチン 
 1.3.3 再帰 
 1.3.4 アルゴリズムの表現 
 1.3.5 手続き型とオブジェクト指向 
 1.3.6 実行可能プログラムへの変換 
1.4 計算量 
演習問題 

2.並べ替え
2.1 ソートとは 
2.2 さまざまなソートアルゴリズム 
 2.2.1 バブルソート 
 2.2.2 挿入ソート 
 2.2.3 選択ソート 
 2.2.4 マージソート 
 2.2.5 クイックソート 
演習問題 

3.データ探索
3.1 データ探索とは 
3.2 線形探索 
3.3 二分探索 
3.4 ハッシュ探索 
3.5 木構造の探索 
3.6 コンピュータグラフィックスや画像検索での応用 
 3.6.1 BVH 
 3.6.2 k-dtree 
 3.6.3 SIFT 
演習問題 

4.経路探索
4.1 経路探索とは 
4.2 ダイクストラ法 
4.3 A*アルゴリズム 
4.4 ベルマン-フォード法 
4.5 インターネットでの経路探索 
 4.5.1 RIP 
 4.5.2 OSPF 
演習問題 

5.データの圧縮と展開
5.1 データ圧縮とその応用 
5.2 可逆圧縮と非可逆圧縮 
5.3 ランレングス圧縮 
5.4 ハフマン符号化 
5.5 LZ 法 
5.6 画像の圧縮 
 5.6.1 可逆な画像圧縮 
 5.6.2 非可逆な画像圧縮 
5.7 メディアデータの圧縮 
 5.7.1 音声データの圧縮 
 5.7.2 動画データの圧縮 
演習問題 

6.誤り検出と訂正
6.1 誤り検出と誤り訂正 
6.2 パリティとチェックディジットによる誤り検出 
 6.2.1 パリティチェック 
 6.2.2 チェックディジット 
6.3 誤り訂正の基礎 
6.4 ハミング符合による誤り訂正 
6.5 誤り訂正符号の応用 
演習問題 

7.データの暗号化
7.1 ディジタルデータと暗号化 
 7.1.1 暗号とは 
 7.1.2 暗号とメディアコンテンツ 
 7.1.3 共通鍵暗号と公開鍵暗号 
7.2 暗号処理の基礎 
7.3 暗号の歴史 
 7.3.1 古代の暗号 
 7.3.2 シーザー暗号 
 7.3.3 古典的な暗号 
 7.3.4 近代の暗号 
7.4 共通鍵暗号 
 7.4.1 ストリーム暗号とブロック暗号 
 7.4.2 DESとAES 
7.5 公開鍵暗号 
7.6 RSA暗号 
 7.6.1 RSA暗号とは 
 7.6.2 RSA暗号の実際 
 7.6.3 RSA暗号の仕組み 
 7.6.4 RSA暗号とディジタル署名 
7.7 暗号とインターネット 
演習問題 

8.人工知能と機械学習
8.1 人工知能とは 
 8.1.1 強いAIと弱いAI 
 8.1.2 人工知能の歴史 
 8.1.3 人工知能を実現する技術 
8.2 機械学習とは 
 8.2.1 学習の対象 
 8.2.2 機械学習の仕組み 
 8.2.3 学習結果による予測と分類 
8.3 機械学習の種類 
 8.3.1 教師あり学習 
 8.3.2 教師なし学習 
 8.3.3 強化学習 
 8.3.4 生成モデル 
演習問題 

9.ニューラルネットワークによる機械学習
9.1 ニューラルネットワークとは 
 9.1.1 ニューラルネットワークの仕組み 
 9.1.2 ニューラルネットワークの構造 
9.2 ニューラルネットワークのモデル化 
 9.2.1 ニューロンのモデル化 
 9.2.2 ネットワークのモデル化 
9.3 ニューラルネットワークの学習の仕組み 
 9.3.1 ニューラルネットワークにおける予測 
 9.3.2 最適化と損失関数 
 9.3.3 勾配法 
 9.3.4 バックプロパゲーション 
 9.3.5 勾配消失問題 
9.4 ニューラルネットワークの実装 
 9.4.1 ニューラルネットワーク演算の行列演算表現 
 9.4.2 ニューラルネットワーク機械学習ライブラリ 
演習問題 

10.畳み込みニューラルネットワーク
10.1 畳み込みニューラルネットワークとは 
 10.1.1 空間フィルタリングと畳み込み 
 10.1.2 畳み込みと畳み込みニューラルネットワーク 
10.2 畳み込み層とプーリング層 
 10.2.1 畳み込み層 
 10.2.2 プーリング層 
 10.2.3 畳み込みとプーリングを使ったネットワーク構造 
10.3 カラー画像などの多層画像における畳み込み 
10.4 畳み込みにおける外周処理 
演習問題 

11.ニューラルネットワークの学習効率化
11.1 バッチノーマライゼーション 
 11.1.1 バッチ処理 
 11.1.2 バッチデータの偏り 
 11.1.3 バッチノーマライゼーションによるデータの正規化 
11.2 ドロップアウト 
 11.2.1 過学習 
 11.2.2 過学習の監視 
 11.2.3 ドロップアウトによる過学習の抑制 
11.3 転移学習とファインチューニング 
 11.3.1 転移学習 
 11.3.2 ファインチューニング 
演習問題 

12.深層学習とその応用
12.1 深層学習 
 12.1.1 深層学習におけるGPUの利用 
 12.1.2 深層学習のネットワークモデル 
12.2 物体検出 
 12.2.1 矩形による物体検出 
 12.2.2 物体検出における領域検出方法 
 12.2.3 物体検出のネットワークモデル 
 12.2.4 物体検出の学習に必要なデータ 
 12.2.5 アノテーションツール:Coco-Annotator 
12.3 姿勢推定 
 12.3.1 キーポイント検出 
 12.3.2 キーポイント検出の二つのアプローチ 
 12.3.3 姿勢推定のネットワークモデル 
12.4 生成モデル 
 12.4.1 VAE 
 12.4.2 GAN 
 12.4.3 GANの発展的手法 
演習問題 

13.人工知能のさまざまな技術と応用
13.1 時系列データの学習 
 13.1.1 RNN 
 13.1.2 LSTM 
 13.1.3 GRU 
 13.1.4 自然言語処理での活用 
13.2 強化学習 
 13.2.1 強化学習と深層強化学習 
 13.2.2 強化学習の実例 
13.3 画像生成の応用 
 13.3.1 画像変換 
 13.3.2 文章からの画像生成 
 13.3.3 異常検知 
演習問題 

引用・参考文献 
索引 

藤澤 公也

藤澤 公也(フジサワ キミヤ)

学生時代の研究テーマは、組み合わせ最適化問題をニューラルネットワークを用いた人工知能的な解法について、特にパズルの解を高速に求めることなどを研究として行っていました。東京工科大学メディア学部で教員として働くようになってからは、WebコンテンツやWebアプリケーションサーバの仕組みやインターネットを介したサービスについて、教育・研究を行ってきました。第三次人工知能ブームの到来に伴い、昨今では再び、人工知能に関する研究にも取り組み、深層学習や生成系AIについて、特にメディアコンテンツとかかわるAIについて教育・研究を行っています。
こういったWebサービスやAIにいたるまでのあらゆるコンピュータ・インターネット上のサービスはICTを基盤として研究・開発が行われています。ICTやプログラミング、ロジック構築などの基礎を学ぶことが、様々な応用的な研究・開発の発展につながることと思っています。

寺澤 卓也

寺澤 卓也(テラサワ タクヤ)

私は学生時代にはコンピュータアーキテクチャの研究をしていました。今は当たり前になっているマルチコアのCPUにも関係する技術です。研究のため、学部生の時に電子メールと出会い、大学院生からは、まだ一般には開放されていなかった初期のインターネットも利用を始めていました。大学に勤めるようになってからはインターネットの技術やインターネット上で何ができるかについて学生の皆さんと一緒に様々な研究を行ってきました。Webのサーバ技術、スマートフォンアプリ、IoTの応用、機械学習・深層学習を用いた研究などが挙げられます。
ICTの分野は新たな技術が次々と現れます。しかし、それらの多くは目新しく見えても、ある日、突然開発されるわけではなく、技術の積み重ねや他分野からの発想の取入れなどによって成り立っています。様々なことをきちんと理解し関連付けて考えられることが重要だと感じています。

羽田 久一(ハダ ヒサカズ)

掲載日:2023/11/02

電子情報通信学会誌2023年11月号

掲載日:2023/10/16

情報処理学会誌2023年11月号

掲載日:2023/09/15

日本音響学会2023年秋季研究発表会講演論文集広告

掲載日:2023/09/06

電子情報通信学会2023年ソサイエティ大会プログラム

掲載日:2023/09/01

電子情報通信学会誌2023年9月号

掲載日:2023/08/01

電子情報通信学会誌2023年8月号