12章言語モデルを1から作る

 さて、ディープラーニングに対してよりディープに踏み込む準備ができた! これまでに、基本的なニューラルネットワークを訓練する方法を説明した。しかし、ここからさらに進んでSOTAモデルを作るにはどうしたらいいのだろうか? 第Ⅲ部では、この謎を明かしていく。まずは言語モデルから始めよう。

 「10章 自然言語処理の詳細:RNN」で訓練済みの言語モデルをファインチューンしてテキストクラス分類器を作った。本章では、この言語モデルの中には何があるのか、RNNとは何なのかを説明する。まず、さまざまなモデルのプロトタイピングを容易にするためのデータを集めることから始めよう。

12.1 データ

 われわれが新しい問題に取り掛かる際には最初に、手法を手早く試して結果を解釈するために、できるだけ単純なデータセットを入手することを考える。数年前、われわれが言語モデルを扱い始めた頃、手早くプロトタイプするのに適切なデータセットがなかったので、自作した。このデータセットは、Human Numbersというもので、単純に10,000までの数字を英語で表記したもので構成されている。

ヒントや提案
Jeremy曰く十分に経験を積んだ実践者であっても、解析の過程で適切なデータセットを適切なときに使うことに失敗している例をよく見かける。多くの人は、大きすぎて複雑すぎるデータセットから始めてしまう。

 いつものように、データセットをダウンロードして、中身を取り出して、見てみよう。

from fastai.text.all ...

Get PyTorchとfastaiではじめるディープラーニング ―エンジニアのためのAIアプリケーション開発 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.