GPT-2
コンピュータによる自然言語処理(NLP)は、もともと計算言語学の一分野として考えられていたもので、コンピュータのハードウェアに能力が備わると同時に試みられるようになった。1948年、ロンドンのバークベック・カレッジで開発された辞書ルックアップテーブルが最初の応用例である。1954年のジョージタウン大学での実験(英語版)では、60文のロシア語の文章を英語に翻訳するという(主にロシア語の単語を英語の同義語に置き換える)完全に自動化された機械翻訳が実演された。そのシステムには6つの文法規則と250語の語彙しかなく、統語構造の解析や翻訳も行われなかったため、翻訳は粗雑なものが多かった。しかし、この実験によって、コンピュータが自然言語を解釈し処理できることが一般に証明され、さらなる研究のためにCIAの資金が確保された。直接置換は、機械翻訳プログラムを評価する際の基準として残存している。
20世紀半ばには、人間とコンピュータの対話(HCI)に自然言語を利用するシステムも登場し始めた。1968年から1970年にかけてMITで開発された「SHRDLU」は、いくつかの物体がある仮想空間で、ユーザーが自然言語による命令を使って対話を行うプログラムである(たとえば「今持っているものより高いブロックを探して、箱の中に入れる」)。1966年に開発されたおしゃべりロボットの「ELIZA」は、人間の対話者が入力したテキストからキーワードを解析し、会話に適する返答をした。
回帰型ニューラルネットワーク(RNN)は、系列的な情報を処理することができるため、多くの自然言語処理(NLP)アプリケーションで利用されている。RNNは、FFNNとは異なり、同じ項目に対して、順序項目の周囲の状況に応じて異なる重みを符号化する(そして異なる出力を与える)ことができる。ということは、一度に一個の単語を解析するRNNシステムでも、「黒い犬(black dog)」は毛むくじゃらの脚、「アメリカンドッグ(corn dog)」はケチャップ、「幻日(sun dog)」は屈折のように、同じ「dog」から異なる連想ができる。さらに、RNNでは、以前の順序項目の情報を再帰的に呼び出すことができるため、ずっと以前に遡って任意の項目を思い出すようにシステムを設計することができる。たとえば、「トムは黒い犬を見た」「トムはアメリカンドッグを見た」「トムは幻日を見た」という順序項目を、それぞれ「優しく」「飢えて」「間接的に」と続けることができるようになる。
しかし、多層型のFFNNとRNNは優れた解を出せる一方で、どちらも勾配消失問題に対して脆弱であることが判明した。勾配は有限精度の数値として符号化され、モデルの全ての層にわたって逆伝播する必要があるため、多数の層を重ねるとゼロに「消滅」、または無限大に「発散」する可能性がある。1995年-1997年にかけて、Sepp HochreiterとJürgen Schmidhuberが初めて提案した長・短期記憶ネットワーク(LSTM)は、「入力」「出力」「忘却」ゲートを持つ複数の個別の「セル」からなる新しいアーキテクチャを導入することによって、この問題を解決しようとした。