故きを温ねて新しきを知る for AI ！！ HUIの誕生。ChatGPTはどう使えばいいのか？


こんにちは。iijimaです！
今日は今流行りのChatGPTについての紹介の前にAIってどうやって発展してきたのかについて紹介します。後半では2023/02/15時点での色々な使い方についてまとめました！

# AIの業界の歴史
## 1950年代からのAIの発展 （第1次AIブーム）
### 特徴
迷路やパズルを解くこと、チェスや数学の定理証明などの単純な問題を解決することができる
- 数学的アプローチ
    - 数字に意味を持たせる（重み付け）
- 推論システム
    - 入力されたデータをもとに結果予測を行う
:::note warn   
不確定要素に弱い
決められたルールの中でのみ最適な答えを探すことができる
:::
## 1980年代と1990年代のAIの発展 (第2次AIブーム)
### 特徴
特定のドメインに関連する知識をもち、人間に代わって問題解決などのタスクを実行するコンピュータシステム

- 知識ベースシステム
    - 特定の領域の知識や情報を格納し、その知識を使って問題解決などのタスクを実行する
- エキスパートシステム
    - 知識ベースと推論システムの組み合わせ
:::note warn
全ての事例に正確に対応することが難しい。
「知識」の量が膨大で「知識」同士での矛盾や一貫性の無さが発生する
曖昧な事例に対して判断することが難しい
膨大な「知識」を人間が記述して用意する必要がある
:::

## 2000年代のAIの発展
### 特徴
数学的アプローチ、データ構造、アルゴリズムなどが発展し、非常に大規模なデータセットを扱うことができるようになった。

- 機械学習のブレークスルー
    - 画像認識において、画像から物体や人物などを認識することができるようになった
- 深層学習の登場
    - 自然言語処理において、文章の要約や文章生成、トランスレーションなどが可能となった。
:::note warn
計算能力の限界: コンピュータの処理速度が十分ではなく、大規模なデータや複雑な問題を扱うのが難しい。
データの不足: AIに必要な大量のデータが手に入りにくく、そのデータを処理するためのアルゴリズムが不十分。
手作業による特徴量設計: AIのアルゴリズムを設計する際には、入力データの特徴量を手動で設計する必要があった。このため、アルゴリズムの柔軟性が限定され、汎用性に欠けることがあった。
:::
## 2010年代からの現在のAIの発展
### 特徴
クラウドコンピューティングやGPUの普及により、大規模なトレーニングデータを使って学習することが容易になったことによるAI技術の飛躍的な進化、精度の向上。
- 大規模なトレーニングデータの利用
    - 大量のトレーニングデータと高性能のコンピュータリソースによる機能向上
- GPTによる文章生成モデルの登場
    - 大量のテキストデータの学習によって、人間のような文章生成が可能
- 様々なタスクでの人工知能の活用
    - GPTの利用により、回答生成タスク、文書生成タスク、文書要約タスクなど、学習データに基づいた未知の課題についての高精度な回答が可能

# ChatGPTの登場
## 特徴
- サービス公開から2か月でアクティブユーザが１億人を突破した史上最も急成長を遂げた消費者向けアプリケーション。
- 膨大な自然言語処理のデータを使って事前学習された言語モデルであるため、人間に近い自然な文章を生成できる。
- 多様なトピックに対応できるため、さまざまな分野の文章の生成が可能。
- 入力された文章や文章中のキーワードを理解し、適切な応答を返すことができるため、対話システムやチャットボットとしての利用が可能。
- 深層学習による自動学習が行われており、学習データに応じてモデルが柔軟に変化するため、高い汎用性を持つ。
- 開発元のOpenAIが提供するAPIを利用することで、誰でも簡単にChatGPTを利用できる。
- 高い表現力と柔軟性を持ち、応答内容を細かく調整することができるため、自然言語によるタスク自動化など、さまざまな応用が期待されている。


| ChatGPT |	過去のAIサービス |
|:-----------|:------------|
|Transformerベースの技術を採用|伝統的なRNN(※1)やLSTM(※2)を採用|
|膨大なデータを学習している|少量のデータを学習している|
|品質の良い回答を生成する能力が高い|品質の悪い回答もあったり、意図しない回答を生成していた|
|複数のタスクに対応可能|単一のタスクに対応していた|

※1 Recurrent Neural Network ：時間的な情報を処理するのに適したアーキテクチャ。
過去の時点の情報を保持し、次の時点で使用できるように再帰的に自己ループを形成します。
ただし、過去の情報が現在の出力に影響する際に、過去から遠く離れた情報が影響を与えにくいという問題がある。
※2 Long Short-Term Memory：RNNの一種で、RNNが抱える長期依存性の問題を解決するために開発されたもの。
過去の情報を長期記憶セルに保存し、現在の入力と合わせて、情報を更新するためのゲートを備えた構造を持っている。

## どんなことでも回答できるの？
ロボット三原則に抵触するような内容は回答できないようになっているようです。
人類の最大幸福度を高める活動に利用しましょう！！

:::note info
第一原則：人を傷つけてはならない。
第二原則：人間の命令に服従しなければならないが、それが第一原則に反する場合には、その命令に従うことはできない。
第三原則：自己保存のために行動してはならないが、第一原則に反する行動を避けるために自己保存行動を取ることはできる。
:::
例）
- 違法または不正当な活動の推奨や支持
- 傷害、自殺、暴力などの危険な行為の推奨や支持
- 人種、性別、性的指向、宗教、政治的信念など、個人またはグループを攻撃する内容
- 不正確、誤解を招く、または虚偽の情報
- その他の法律、倫理、または社会的基準に反するもの

## ChatGPTの内部処理について
ここではChatGPTが質問を受けてから解釈し、回答を出力するまでの流れについて説明します。
![内部処理.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/245304/fb1fe9d9-6928-bf70-4d4e-80ac92e395ab.png)
- Knowledgeデータベースによる関連する知識の検索タスクでは、以下のように処理が行われます。

1. パラメータの解析：ChatGPTが送信した質問の種類や文脈、目的などを解析します。この解析には、自然言語処理の技術が用いられます。例えば、構文解析や意味解析などが含まれます。
2. 検索クエリの生成：パラメータの解析結果を元に、検索クエリを生成します。このクエリには、関連するキーワードやタグ情報、カテゴリ情報などが含まれます。この検索クエリに基づいて、Knowledgeデータベース内のテキスト情報を検索します。
3. 検索の実行：検索クエリを元に、Knowledgeデータベース内のテキスト情報を検索します。この検索には、全文検索やキーワード検索、カテゴリ検索などの技術が用いられます。検索された結果は、関連する知識を提供するためにChatGPTに返されます。

- Corpusデータベースによるコーパスの検索タスクでは、以下のように処理が行われます。

1. 文脈生成：ChatGPTが送信した質問に対して、適切な文脈を生成します。この文脈生成には、質問の種類や文脈、目的などが含まれます。
2. 検索クエリの生成：文脈生成の結果を元に、検索クエリを生成します。このクエリには、関連するキーワードやタグ情報、カテゴリ情報などが含まれます。この検索クエリに基づいて、Corpusから適切な文脈を提供します。
3. 検索の実行：検索クエリを元に、Corpus内のテキスト情報から適切な文脈を提供します。この検索には、検索エンジンのようにインデックスを作成し、インデックスを参照することで高速に検索する方法や、直接コーパス全体を走査する方法などがあります。ChatGPTでは、検索エンジンのようにインデックスを作成して高速に検索する方法が用いられます。
4. フィルタリング：検索結果から、適切な文脈を選択するために不適切な文脈を除外します。このフィルタリングには、不適切な情報を含む文脈の排除や、関連性が低い文脈の排除などが含まれます。
5. 重要度の評価：フィルタリングされた文脈の中から、最も適切な文脈を選択するために、それぞれの文脈の重要度を評価します。重要度の評価には、TF-IDFやPageRankなどのアルゴリズムが用いられます。この評価に基づいて、最も適切な文脈が選択され、ChatGPTに返されます。

## AIのサービスが大量に生まれる世界線
去年あたりからのサービスリリーススピードがえげつない
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">「There&#39;s an AI for That（それをするためのAIは既にあります）」というサイトが狂ったような数のAIサービスがリスト化されていて、用途で検索するとそれに合ったAIが一覧で出てくるのでなかなか便利。<a href="https://t.co/bqwqDdQF1J">https://t.co/bqwqDdQF1J</a> <a href="https://t.co/KRiOWDUuO1">pic.twitter.com/KRiOWDUuO1</a></p>&mdash; KAJI | 梶谷健人 (@kajikent) <a href="https://twitter.com/kajikent/status/1619802608540999683?ref_src=twsrc%5Etfw">January 29, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


## ChatGPTの便利な使い方特集
### 構成を指示すると回答精度が上がるよ！
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ChatGPTで面白い小説を書くノウハウで、まとめきれなかったものを置いておきます。コツとして「三幕構成」を指定すると良いんですが、それを①指定しなかった場合、②指定だけした場合、③三幕構成の要点を質問してから指定した場合、で比較しました。クオリティが①＜②＜③なのが分かると思います。 <a href="https://t.co/4OIql2rprD">pic.twitter.com/4OIql2rprD</a></p>&mdash; 葦沢かもめ (@AshizawaKamome) <a href="https://twitter.com/AshizawaKamome/status/1621859639267852289?ref_src=twsrc%5Etfw">February 4, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

### 自分に質問してもらって一日を振りかえろう！
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ChatGPT と話しながら1日を振り返っているが&quot;普通&quot;に良い…<br><br>AIって使えそうでギリギリ使えないことばかりだがこの使い方だと普通に使える<br>なんなら人に話を聞いてもらうよりラク <a href="https://t.co/ugbH853ESr">pic.twitter.com/ugbH853ESr</a></p>&mdash; つばさ｜Notion認定コンサルタント (@PetsTsubasa) <a href="https://twitter.com/PetsTsubasa/status/1624051006576230406?ref_src=twsrc%5Etfw">February 10, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

### 検索がうまくいかないなら検索ワードを聞いてみよう！
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ChatGPTを調べ物で使いたいなら、「Googleに投げる検索ワードを聞く」が本来の正しい使い方だと思います。<br><br>「半導体における3次元実装の特許出願数を調べたいです。検索ワードは？グラフがあるといいんだけど」と聞いてそれをGoogleにコピペした結果。 <a href="https://t.co/b72cioOrkp">pic.twitter.com/b72cioOrkp</a></p>&mdash; ピーナッツ (@1zA5ijpgBABKIy2) <a href="https://twitter.com/1zA5ijpgBABKIy2/status/1624276588811661312?ref_src=twsrc%5Etfw">February 11, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

### 自己分析にも使えるよ！
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ChatGPT、自分が未知なことについて訊くとファクトチェックが必要なので、自分が知っていることについて質問してもらうという使い方はどうだろう。面接練習、試験勉強、コーチングなどに。<br>PMは自分の担当業界についてChatGPTに教えて、足りてない所を色々と質問してもらうと解像度が上がるかも <a href="https://t.co/lP0jdN6Gq7">pic.twitter.com/lP0jdN6Gq7</a></p>&mdash; ryopenguin (@ryopenguin) <a href="https://twitter.com/ryopenguin/status/1614792341667340289?ref_src=twsrc%5Etfw">January 16, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

### 図解ができないならコードで出力してもらえばいいじゃない！
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/ChatGPT?src=hash&amp;ref_src=twsrc%5Etfw">#ChatGPT</a> に年表を投げて、地域間関係を図解してもらう試み。歴史の勉強にどうぞ。 <a href="https://t.co/9S1zsGSOtN">pic.twitter.com/9S1zsGSOtN</a></p>&mdash; 読書猿『独学大全』14刷26万部（紙＋電書） (@kurubushi_rm) <a href="https://twitter.com/kurubushi_rm/status/1619647752039960576?ref_src=twsrc%5Etfw">January 29, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

### APIを利用すれば他のサービスとも連携できるよ！
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">makeを使って、公式LINEと連携する方法を解説しました。<br>コード一行も書きません。<br><br>この動画では、オウム返しの様に言われたことを返す公式LINEを作ります。LINE連携で、業務効率化・自動化を検討している方、是非触ってみて下さい。<br><br>近々、ChatGPTを挟んで自動返信する方法の解説も載せます。 <a href="https://t.co/HlsjkdFlg1">pic.twitter.com/HlsjkdFlg1</a></p>&mdash; 平岡 | 会社から早く帰るための個人DX推進 (@hiraoka_dx) <a href="https://twitter.com/hiraoka_dx/status/1618537854694572032?ref_src=twsrc%5Etfw">January 26, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

### エクセルの指示も言葉でできるよ！
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">遂にスプシの関数も不要な世界に。文章を打つだけで関数が使える「Formula God」がヤバい。average、if、vlookupなどが文章を打つだけで実行できる。全人類から関数嫌いが撲滅する。AIの発展で人々の苦手が0に。エクセルスクール系の事業も消えるだろう。AIの動向を見ておかないと仕事も無くなる時代。 <a href="https://t.co/RHuELD0REr">pic.twitter.com/RHuELD0REr</a></p>&mdash; チャエン| Web3.0×海外テック×AI (@masahirochaen) <a href="https://twitter.com/masahirochaen/status/1624948811306258432?ref_src=twsrc%5Etfw">February 13, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

### Vbaもできるからやりたいことの可能性が広がるよ！
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ChatGPTにメールにExcelファイルを添付して送信するコードを聞くとちゃんと動くコードを提示してくれた。これは凄い。精度を上げるには細かく質問を分けること。<br>・ExcelをPDFとして保存<br>・ファイル添付してメール送信<br>など一つ一つ質問。そしてコードを最後繋げればOK。 <a href="https://t.co/dUpoiLm1vH">pic.twitter.com/dUpoiLm1vH</a></p>&mdash; タクヤ|YouTube登録者9万名メンタエクセル|Excelコンサルタント (@911_takuya) <a href="https://twitter.com/911_takuya/status/1624946953095364608?ref_src=twsrc%5Etfw">February 13, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

### arduinoのコードも指示を工夫すればここまで動作するものが出力されるよ！
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/ChatGPT%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF_%E8%87%AA%E4%BD%9C%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%A9%E3%83%BC%E3%82%B7%E3%83%B3%E3%82%BB?src=hash&amp;ref_src=twsrc%5Etfw">#ChatGPTロジック_自作モジュラーシンセ</a><br>ANDとNANDロジックの機能を実装。<br><br>コードは全てChatGPTで生成、問題なく動作する。<br>素晴らしい！<br><br>ただし、命令の仕方に工夫が必要。<br>分解能の指示や、A6pinがアナログ入力であることとかは、指示してやらないと動かない。 <a href="https://t.co/Dw5TEVMFsG">pic.twitter.com/Dw5TEVMFsG</a></p>&mdash; HAGIWO/ハギヲ👺自作シンセ (@HAGIWO1) <a href="https://twitter.com/HAGIWO1/status/1622634901165187072?ref_src=twsrc%5Etfw">February 6, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

### 表形式で答えさせるとわかりやすいしデータも再利用しやすいよ！
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ChatGPTは、イーロン・マスク氏やマイクロソフト社が出資するOpenAI社が2022年12月に発表したAIシステム<br>会話形式でのチャットで以下を回答しちゃう<br>・様々な質問や調べ物<br>・プログラミングコード作成<br>・文章の要約や添削<br>オススメは表形式で答えさせる<br>さらにスプレッドシートとの最強組み合わせを↓ <a href="https://t.co/IDiskQoSKK">pic.twitter.com/IDiskQoSKK</a></p>&mdash; はしもと®社長（めちゃくちゃ気さく） (@hashimoto_no14) <a href="https://twitter.com/hashimoto_no14/status/1625418599526694912?ref_src=twsrc%5Etfw">February 14, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


### 毎日のように生まれる新しい使い方や工夫の数々
https://qiita.com/sakasegawa/items/82069c97a1ee011c2d1e