BERT実践入門 PyTorch + Google Colaboratoryで学ぶあたらしい自然言語処理技術(我妻 幸長)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. BERT実践入門 PyTorch + Google Colaboratoryで学ぶあたらしい自然言語処理技術

BERT実践入門 PyTorch + Google Colaboratoryで学ぶあたらしい自然言語処理技術


形式:
書籍
発売日:
ISBN:
9784798177816
定価:
3,300(本体3,000円+税10%)
仕様:
A5・280ページ
カテゴリ:
人工知能・機械学習
キーワード:
#プログラミング,#開発手法,#データ・データベース,#ビジネスIT
シリーズ:
AI & TECHNOLOGY
紙の書籍

自然言語処理モデル「BERT」のしくみと実装手法を
PyTorchとGoogle Colaboratoryで学んでみよう!

【本書の背景】
近年、深層学習に基づく自然言語処理技術は飛躍的な発展を遂げており、翻訳、文章生成、文章のグルーピングなど様々な業務に利用されています。自然言語処理技術の中でも特に注目を集めているのが「BERT」です。

【BERTとは】
BERTは2018年の後半にGoogleから発表された、自然言語処理のための新たなディープラーニングのモデルです。「Transformer」がベースとなっており、様々な自然言語処理タスクに合わせて調整可能な汎用性があります。

【本書の概要】
PyTorchとGoogle Colaboratoryの環境を利用して、BERTの実装方法について解説します。具体的にはAttention、Transformerといった自然言語処理技術をベースに、BERTのしくみや実装方法についてサンプルを元に解説します。章末には演習を用意しています。

【対象読者】
・一歩進んだ自然言語処理技術を身につけたい方
・BERTの実装を効率よくコンパクトに学びたい方
・BERTの概要を実装を通して把握したい方

【本書の特徴】
・サンプルを元にBERTの基礎から発展的な利用方法まで学べる
・Google ColaboratoryとPyTorchという人気の開発環境、フレームワークで学べる
・Transformersライブラリを利用してBERTを実装できる

【目次】
Chapter0 イントロダクション
Chapter1 BERTの概要
Chapter2 開発環境
Chapter3 PyTorchで実装する簡単な深層学習
Chapter4 シンプルなBERTの実装
Chapter5 BERTの仕組み
Chapter6 ファインチューニングの活用
Chapter7 BERTの活用
Appendix さらに学びたい方のために

【著者プロフィール】
我妻 幸長(あづま・ゆきなが)
「ヒトとAIの共生」がミッションの会社、SAI-Lab株式会社の代表取締役。AI関連の教育と研究開発に従事。
東北大学大学院理学研究科修了。理学博士(物理学)。
法政大学デザイン工学部兼任講師。
オンライン教育プラットフォームUdemyで、10万人以上にAIを教える人気講師。

画像01
画像02
画像03

Google ColaboratoryとPyTorchという人気の開発環境、フレームワークでBERTが学べる

多くのエンジニアの方が利用している人気の開発環境「Google Colaboratory」と、人気のフレームワーク「PyTorch」を利用して、BERTのしくみや実装方法を学ぶことができます。

画像04

サンプルを元にBERTの概要から発展的な利用方法まで学べる

ノートブック形式でサンプルを用意しています。サンプルを動かしながら、BERTの概要から基本的な実装手法、活用手法まで学ぶことができます。

画像05

Transformersライブラリを利用してBERTを実装できる

Hugging Faceが提供するTransformersライブラリ(分類、情報抽出、質問回答、要約、翻訳、テキスト生成などの様々な自然言語処理のための事前学習モデルが100以上の言語で用意されている)を利用して、BERTの実装手法を解説します。

CHAPTER 0 イントロダクション 
0.1 本書の特徴
0.1.1 Pythonの基礎を学ぶ
0.1.2 本書の構成
0.1.3 本書でできるようになること
0.1.4 本書の注意点
0.1.5 本書の対象
0.1.6 本書の使い方

CHAPTER 1 BERTの概要 
1.1 深層学習とは
1.1.1 人工知能と機械学習、そして深層学習
1.1.2 ニューラルネットワークの構造
1.1.3 深層学習
1.2 自然言語処理の概要
1.2.1 自然言語処理とは?
1.2.2 自然言語処理の応用
1.2.3 形態素解析
1.2.4 単語のベクトル化
1.2.5 RNN(再帰型ニューラルネットワーク)
1.2.6 Seq2Seqによる系列の変換
1.2.7 自然言語処理をさらに学びたい方へ
1.3 Transformerの概要
1.3.1 Transformerとは?
1.3.2 Transformerの構造
1.4 BERTの概要
1.4.1 BERTとは?
1.4.2 BERTの学習の概要
1.4.3 BERTの事前学習
1.4.4 BERTの性能
1.5 Chapter1のまとめ

CHAPTER 2 開発環境 
2.1 Google Colaboratoryの始め方
2.1.1 Google Colabortoryの下準備
2.1.2 ノートブックの使い方
2.1.3 ダウンロードしたファイルの扱い方
2.2 セッションとインスタンス
2.2.1 セッション、インスタンスとは?
2.2.2 90分ルール
2.2.3 12時間ルール
2.2.4 セッションの管理
2.3 CPUとGPU
2.3.1 CPU、GPU、TPUとは?
2.3.2 GPUの使い方
2.3.3 パフォーマンスの比較
2.4 Google Colaboratoryの様々な機能
2.4.1 テキストセル
2.4.2 スクラッチコードセル
2.4.3 コードスニペット
2.4.4 コードの実行履歴
2.4.5 GitHubとの連携
2.5 演習
2.5.1 コードセルの操作
2.5.2 テキストセルの操作
2.5.3 セルの位置変更と削除
2.6 Chapter2のまとめ

CHAPTER 3 PyTorchで実装する簡単な深層学習 
3.1 実装の概要
3.1.1 「学習するパラメータ」と「ハイパーパラメータ」
3.1.2 順伝播と逆伝播
3.1.3 実装の手順
3.2 Tensor
3.2.1 パッケージの確認
3.2.2 Tensorの生成
3.2.3 NumPyの配列とTensorの相互変換
3.2.4 範囲を指定してTensorの一部にアクセス
3.2.5 Tensorの演算
3.2.6 Tensorの形状を変換
3.2.7 様々な統計値の計算
3.2.8 プチ演習:Tensor同士の演算
3.2.9 解答例
3.3 活性化関数
3.3.1 シグモイド関数
3.3.2 tanh
3.3.3 ReLU
3.3.4 恒等関数
3.3.5 ソフトマックス関数
3.4 損失関数
3.4.1 平均二乗誤差
3.4.2 交差エントロピー誤差
3.5 最適化アルゴリズム
3.5.1 勾配と勾配降下法
3.5.2 最適化アルゴリズムの概要
3.5.3 SGD
3.5.4 Momentum
3.5.5 AdaGrad
3.5.6 RMSProp
3.5.7 Adam
3.6 エポックとバッチ
3.6.1 エポックとバッチ
3.6.2 バッチ学習
3.6.3 オンライン学習
3.6.4 ミニバッチ学習
3.6.5 学習の例
3.7 シンプルな深層学習の実装
3.7.1 手書き文字画像の確認
3.7.2 データを訓練用とテスト用に分割
3.7.3 モデルの構築
3.7.4 学習
3.7.5 誤差の推移
3.7.6 正解率
3.7.7 訓練済みのモデルを使った予測
3.8 演習
3.8.1 データを訓練用とテスト用に分割
3.8.2 モデルの構築
3.8.3 学習
3.8.4 誤差の推移
3.8.5 正解率
3.8.6 解答例
3.9 Chapter3のまとめ

CHAPTER 4 シンプルなBERTの実装
4.1 Transformersの概要
4.1.1 Transformersとは?
4.1.2 Transformersを構成するクラス
4.1.3 BERTのモデル
4.2 Transformersの基礎
4.2.1 ライブラリのインストール
4.2.2 Transformersのモデル:文章の一部をMask
4.2.3 Transformersのモデル:文章の分類
4.2.4 PreTrainedModelの継承
4.2.5 BERTの設定
4.2.6 Tokenizer
4.3 シンプルなBERTの実装
4.3.1 ライブラリのインストール
4.3.2 欠損した単語の予測:BertForMaskedLM
4.3.3  文章が連続しているかどうかの判定:BertForNextSentencePrediction
4.4 演習
4.4.1 ライブラリのインストール
4.4.2 トークナイザーの読み込み
4.4.3 モデルの読み込み
4.4.4 連続性を判定する関数
4.4.5 連続性の判定
4.4.6 解答例
4.5 Chapter4のまとめ

CHAPTER 5  BERTの仕組み
5.1 BERTの全体像  
5.1.1 BERTの学習
5.1.2 BERTのモデル
5.1.3 BERTの入力
5.1.4 BERTの学習
5.1.5 BERTの性能
5.2 TransformerとAttention
5.2.1 Transformerのモデルの概要
5.2.2 Attentionとは?
5.2.3 InputとMemory
5.2.4 Attention weightの計算
5.2.5 Valueとの内積
5.2.6 Self-AttentionとSourceTarget-Attention
5.2.7 Multi-Head Attention
5.2.8  Positionwise fully connected feed-forward network
5.2.9 Positional Encoding
5.2.10 Attentionの可視化
5.3 BERTの構造
5.3.1 ライブラリのインストール
5.3.2 BERTモデルの構造
5.3.3 BERTの設定
5.4 演習
5.4.1 ライブラリのインストール
5.4.2 BertForMaskedLMの構造
5.4.3 BertForNextSentencePredictionの構造
5.5 Chapter5のまとめ

CHAPTER 6  ファインチューニングの活用 
6.1 転移学習とファインチューニング
6.1.1 転移学習とは?
6.1.2 転移学習とファインチューニング
6.2 シンプルなファインチューニング
6.2.1 ライブラリのインストール
6.2.2 モデルの読み込み
6.2.3 最適化アルゴリズム
6.2.4 トークナイザーの設定
6.2.5 シンプルなファインチューニング
6.3 ファインチューニングによる感情分析
6.3.1 ライブラリのインストール
6.3.2 モデルとトークナイザーの読み込み
6.3.3 データセットの読み込み
6.3.4 データの前処理
6.3.5 評価用の関数
6.3.6 TrainingArgumentsの設定
6.3.7 Trainerの設定
6.3.8 モデルの訓練
6.3.9 モデルの評価
6.4 演習
6.4.1 ライブラリのインストール
6.4.2 モデルとトークナイザーの読み込み
6.4.3 層の凍結
6.4.4 データセットの読み込み
6.4.5 データの前処理
6.4.6 評価用の関数
6.4.7 TrainingArgumentsの設定
6.4.8 Trainerの設定
6.4.9 モデルの訓練
6.4.10 モデルの評価
6.4.11 解答例
6.5 Chapter6のまとめ

CHAPTER 7 BERTの活用 
7.1 BERTの活用例
7.1.1 検索エンジン
7.1.2 翻訳
7.1.3 テキスト分類
7.1.4 テキスト要約
7.1.5 その他の活用例
7.2 BERTの日本語モデル
7.2.1 使用するモデルとデータセット
7.2.2 ライブラリのインストール
7.2.3 欠損した単語の予測
7.2.4 文章が連続しているかどうかの判定
7.3 BERTによる日本語ニュースの分類
7.3.1 使用するデータセット
7.3.2 Googleドライブに訓練データを配置
7.3.3 ライブラリのインストール
7.3.4 Googleドライブとの連携
7.3.5 データセットの読み込み
7.3.6 データの保存
7.3.7 モデルとトークナイザーの読み込み
7.3.8 データの前処理
7.3.9 評価用の関数
7.3.10 TrainingArgumentsの設定
7.3.11 Trainerの設定
7.3.12 モデルの訓練
7.3.13 モデルの評価
7.3.14 モデルの保存
7.3.15 モデルの読み込み
7.3.16 日本語ニュースの分類
7.4 Chapter7のまとめ

Appendix さらに学びたい方のために 
AP1.1 さらに学びたい方のために
AP1.1.1 コミュニティ「自由研究室 AIRS-Lab」
AP1.1.2 著書
AP1.1.3 News! AIRS-Lab
AP1.1.4 YouTubeチャンネル「AI教室 AIRS-Lab」
AP1.1.5 オンライン講座
AP1.1.6 著者のTwitterアカウント
AP1.1.7 最後に

付属データはこちら

会員特典はこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2024年02月28日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 027
本文上から1行目
BERT(Birdirectional Encoder Representation from Transformers)
BERT(Bidirectional Encoder Representations from Transformers)
2023.10.20
1刷 069
リスト3.10
f = c.view(-1)
f = e.view(-1)
2023.12.27
1刷 146
上から11行目
それでは、ここでパートの入力について解説します。
それでは、ここでBERTの入力について解説します。
2023.07.24
1刷 151
上から1行目
実はパートで使うのは・・・
実はBERTで使うのは・・・
2023.07.22
1刷 186
リスト6.5 
loss = F.cross_entropy(y.logits, t) # 交差エントロピー誤差 loss.backward() # 逆伝播により勾配を計算
loss = F.cross_entropy(y.logits, t) # 交差エントロピー誤差 optimizer.zero_grad() loss.backward() # 逆伝播により勾配を計算
2024.02.28
1刷 230
下から6行目
約25%
約0.25%
2023.08.28
1刷 262
下から12行目
BERT(Birdirectional Encoder Representation from Transformers)
BERT(Bidirectional Encoder Representations from Transformers)
2023.10.20