<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ChatGPTPython Tech</title>
	<atom:link href="https://tech.nkhn37.net/category/generative-ai/chatgpt/feed/" rel="self" type="application/rss+xml" />
	<link>https://tech.nkhn37.net</link>
	<description>Python学習サイト</description>
	<lastBuildDate>Sun, 11 Jan 2026 04:42:11 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://tech.nkhn37.net/wp-content/uploads/2021/01/cropped-lion-normal-clear-1-32x32.png</url>
	<title>ChatGPTPython Tech</title>
	<link>https://tech.nkhn37.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【ChatGPT】YouTube要約ツール：YouTube Summary with ChatGPT</title>
		<link>https://tech.nkhn37.net/chatgpt-youtube-summary-with-chatgpt/</link>
					<comments>https://tech.nkhn37.net/chatgpt-youtube-summary-with-chatgpt/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Sat, 15 Apr 2023 20:00:00 +0000</pubDate>
				<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[YouTube Summary with ChatGPT]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=8278</guid>

					<description><![CDATA[Youtubeの要約ツールであるYoutube Summary with ChatGPTを使ってみましたので紹介します。 Youtube Summary with ChatGPT ChatGPTとは、OpenAIが開発し [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Youtubeの要約ツールである<span class="marker"><strong>Youtube Summary with ChatGPT</strong></span>を使ってみましたので紹介します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">Youtube Summary with ChatGPT</h2>



<p class="wp-block-paragraph">ChatGPTとは、<a rel="noreferrer noopener" href="https://openai.com/" target="_blank"><strong>OpenAI</strong></a>が開発したAIチャットサービスです。</p>



<p class="wp-block-paragraph">ChatGPTの関連ツールで「<span class="marker"><strong>You</strong></span><span class="marker"><strong>T</strong></span><span class="marker"><strong>ube Summary with ChatGPT</strong></span>」というChrome拡張機能の要約ツールがあったので使ってみました。</p>



<p class="wp-block-paragraph">YouTube等の動画は情報収集の一つのツールとして便利ですが、何が要点か分かりにくい場合もあります。こんな時にChatGPTに要約を補助してもらうと動画の理解につながるかもしれません。</p>



<p class="wp-block-paragraph">なお、このツールはChrome拡張機能なので、ブラウザとしてChromeをインストールしておいてください。また、このツールを使うためにはChatGPTにログインしておく必要があります。アカウントの作り方などについては「<a rel="noreferrer noopener" href="https://tech.nkhn37.net/chatgpt-overview-usage/" target="_blank">【ChatGPT】概要と始め方・使い方</a>」にまとめていますので参考にしてください。</p>



<h3 class="wp-block-heading jinr-heading d--bold">YouTube Summary with ChatGPTのインストール</h3>



<p class="wp-block-paragraph">YouTube Summary with ChatGPTは、ChromeウェブストからChromeに追加することができます。以下のページにアクセスしてください。</p>



<p class="wp-block-paragraph"><a href="https://chrome.google.com/webstore/detail/youtube-summary-with-chat/nmmicjeknamkfloonkhhcjmomieiodli" target="_blank" rel="noreferrer noopener">https://chrome.google.com/webstore/detail/youtube-summary-with-chat/nmmicjeknamkfloonkhhcjmomieiodli</a></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="843" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-31-1024x843.png" alt="YouTube Summary with ChatGPT" class="wp-image-8279" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-31-1024x843.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-31-300x247.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-31-768x633.png 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-31.png 1038w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">右上の「Chromeに追加」をクリックすると確認が出るので追加をしてください。これで追加は完了です。</p>



<h3 class="wp-block-heading jinr-heading d--bold">Youtube Summary with ChatGPTの基本的な使い方</h3>



<p class="wp-block-paragraph">Youtube Summary with ChatGPTをインストールするとYoutubeの画面の右上に以下のような拡張表示がされます。この部分が機能の部分です。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="414" height="55" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-34.png" alt="" class="wp-image-8282" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-34.png 414w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-34-300x40.png 300w" sizes="(max-width: 414px) 100vw, 414px" /></figure>
</div>


<h4 class="wp-block-heading jinr-heading d--bold">使用例：Youtube Summary with ChatGPの説明動画</h4>



<p class="wp-block-paragraph">Youtube Summary with ChatGPTのインストールページで紹介されているYouTubeページを試しに利用させていただいて要約を試してみました。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="843" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-31-1024x843.png" alt="YouTube Summary with ChatGPT" class="wp-image-8279" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-31-1024x843.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-31-300x247.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-31-768x633.png 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-31.png 1038w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">実際にページに飛ぶと以下のようなページです。拡張機能の一番右の展開ボタンを押すと実際に話されていることが文字起こしされて表示されます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="805" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-36-1024x805.jpg" alt="YouTube Summary with ChatGPT 使い方例" class="wp-image-8284" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-36-1024x805.jpg 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-36-300x236.jpg 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-36-768x604.jpg 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-36.jpg 1034w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">以下の「Copy Transcript」を押してコピーします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="372" height="103" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-36.png" alt="YouTube Summary with ChatGPT 使い方例" class="wp-image-8285" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-36.png 372w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-36-300x83.png 300w" sizes="(max-width: 372px) 100vw, 372px" /></figure>
</div>


<p class="wp-block-paragraph">ChatGPTの画面へ飛んで、コピーしたものをChatGPTにつけて実行してみます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="466" height="1024" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-37-466x1024.png" alt="YouTube Summary with ChatGPT 使い方例" class="wp-image-8286" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-37-466x1024.png 466w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-37-136x300.png 136w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-37.png 616w" sizes="(max-width: 466px) 100vw, 466px" /></figure>
</div>


<p class="wp-block-paragraph">上記のように、YouTubeページに関する要約の回答がされます。英語なので日本語にしてもらいましょう。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="617" height="474" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-38.png" alt="YouTube Summary with ChatGPT 使い方例" class="wp-image-8287" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-38.png 617w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-38-300x230.png 300w" sizes="(max-width: 617px) 100vw, 617px" /></figure>
</div>


<p class="wp-block-paragraph">このようにいい感じに要約してくれました。とても便利ですね。</p>



<h4 class="wp-block-heading jinr-heading d--bold">長いYouTube動画だとうまくいかない</h4>



<p class="wp-block-paragraph">少し長いYouTubeページに関して、上記で紹介した手順で同様に実行してみたら以下のように「長すぎる」と言われてしまいました。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="804" height="96" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-32.png" alt="YouTube Summary with ChatGPT エラー" class="wp-image-8280" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-32.png 804w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-32-300x36.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-32-768x92.png 768w" sizes="(max-width: 804px) 100vw, 804px" /></figure>
</div>


<p class="wp-block-paragraph">例えば、ビジネス系YouTuberのページとかは比較的長い説明のページが多く、こういったページこそパッと要約できると便利なのですが、上記のように制約に引っかかってしまうのはちょっと残念ですね。</p>



<p class="wp-block-paragraph">これは、拡張機能ではなくChatGPTの動作の制約に関するものだと思うので、この辺りは今後どう変わっていくか楽しみです。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph">ChatGPTの関連ツールで「<span class="marker"><strong>YouTube Summary with ChatGPT</strong></span>」というChrome拡張機能の要約ツールがあったので使ってみました。</p>



<p class="wp-block-paragraph">なお、このツールはChrome拡張機能なので、ブラウザとしてChromeをインストールしておいてください。また、ChatGPTにログインしておく必要があります。アカウントの作り方などについては「<a rel="noreferrer noopener" href="https://tech.nkhn37.net/chatgpt-overview-usage/" target="_blank">【ChatGPT】概要と始め方・使い方</a>」にまとめていますので参考にしてください。</p>



<p class="wp-block-paragraph">YouTube等の動画は情報収集の一つのツールとして便利ですが、何が要点か分かりにくい場合もあります。こんな時にChatGPTに要約を補助してもらうと動画の理解につながるかもしれませんね。</p>



<p class="wp-block-paragraph">皆さんも試しにYouTube Summary with ChatGPTを使ってみてもらえると面白いかもしれません。</p>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/chatgpt-youtube-summary-with-chatgpt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【ChatGPT】プロンプトエンジニアリング(Prompt Engineering)の基本</title>
		<link>https://tech.nkhn37.net/chatgpt-prompt-engineering-basics/</link>
					<comments>https://tech.nkhn37.net/chatgpt-prompt-engineering-basics/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Fri, 14 Apr 2023 20:00:00 +0000</pubDate>
				<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[Prompt Engineering]]></category>
		<category><![CDATA[プロンプトエンジニアリング]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=8250</guid>

					<description><![CDATA[ChatGPTにおけるプロンプトエンジニアリングの基本的な考え方についてまとめてみます。 ChatGPTのプロンプトエンジニアリング(Prompt Engineering) ChatGPTとは、OpenAIが開発したAI [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ChatGPTにおける<span class="marker"><strong>プロンプトエンジニアリング</strong></span>の基本的な考え方についてまとめてみます。</p>



<h2 class="wp-block-heading jinr-heading d--bold">ChatGPTのプロンプトエンジニアリング(Prompt Engineering)</h2>



<p class="wp-block-paragraph">ChatGPTとは、<a rel="noreferrer noopener" href="https://openai.com/" target="_blank"><strong>OpenAI</strong></a>が開発したAIチャットサービスです。ChatGPTの概要やアカウント登録等の使い方は「<a rel="noreferrer noopener" href="https://tech.nkhn37.net/chatgpt-overview-usage/" target="_blank">【ChatGPT】概要と始め方・使い方</a>」でまとめていますので興味があれば参考にしてください。</p>



<p class="wp-block-paragraph">ChatGPTを扱うにあたって「<span class="marker"><strong>プロンプトエンジニアリング (Prompt Engineering)</strong></span>」というものがあります。</p>



<p class="wp-block-paragraph">プロンプトエンジニアリング（Prompt Engineering）とは、「人工知能（AI）であるChatGPTに対して効果的に情報を求めるための質問や指示の方法、最適化するためのプロセス」のことを言います。</p>



<p class="wp-block-paragraph">要は、<span class="marker"><strong>よりよりChatGPTとのやり取りの</strong></span><span class="marker"><strong>技術</strong></span>といったところでしょうか。プロンプトエンジニアリングの目的は、ChatGPTが適切で正確な回答や出力を生成する確率を高めることです。</p>



<p class="wp-block-paragraph">本記事では、プロンプトエンジニアリングに関する基本的な考え方やステップなどについてまとめてみます。</p>



<h3 class="wp-block-heading jinr-heading d--bold">プロンプトエンジニアリングの原則</h3>



<p class="wp-block-paragraph">ChatGPTの回答の質を向上させるプロンプトエンジニアリングの原則としては以下のようなものがあります。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>明確で具体的な質問</td><td>ChatGPTに対する指示や質問は、明確で具体的であることが望ましいです。曖昧な質問は、期待する回答を得られない可能性が高くなります。</td></tr><tr><td>背景や前提条件の提供</td><td>質問に関連する背景情報や前提を提供することで、ChatGPTはより適切な回答を生成することができます。</td></tr><tr><td>質問の分割</td><td>複雑な質問や問題は、いくつかの単純な質問やステップに分割することで、ChatGPTが回答しやすくなります。</td></tr><tr><td>異なる形式での質問</td><td>ChatGPTの回答の信頼性や正確性を確認するために、異なる形式や異なる角度から同じ質問を繰り返し行うことが役立ちます。</td></tr><tr><td>反復と改善</td><td>質問・回答のやり取りの最適化は、試行錯誤を繰り返すことが重要です。出力が期待に沿わない場合は、質問の言い回しや前提条件の提供の仕方を変更して、改善を試みます。</td></tr></tbody></table></figure>



<h3 class="wp-block-heading jinr-heading d--bold">プロンプトエンジニアリングの基本ステップ</h3>



<p class="wp-block-paragraph">プロンプトエンジニアリングの基本的なステップについては以下のような手順で質問をしていきます。</p>



<ol class="wp-block-list jinr-list">
<li>問題・目的の明確化：ChatGPTに解決してほしい問題や目的を明確に定義します。</li>



<li>質問や指示の作成：問題に対して最も適切な質問や指示を考えます。質問に関連するキーワードやフレーズ等を具体的で明確な表現で使う、複数の質問に分けて情報を求める、前提条件を明確化するといったことが必要です。</li>



<li>反復試行：一度のやり取りではなく回答を評価し、試行錯誤を繰り返し、やりとりを最適化していきます。出力が不十分な場合は、質問の言い回しを変えてみたり、追加情報を提供してみたりします。</li>
</ol>



<p class="wp-block-paragraph">具体的には、この流れを基本に沿った様々なプロンプトエンジニアリングの方法があります。他にも具体的な方法などについては、私も現在勉強中のため色々と勉強・整理してまた紹介していけたらよいなと思っています。</p>



<h3 class="wp-block-heading jinr-heading d--bold">ChatGPTが何として振舞うか</h3>



<p class="wp-block-paragraph">代表的なプロンプトエンジニアリングの一つは、ChatGPTが何として振舞うかを指定することでしょう。</p>



<p class="wp-block-paragraph">例えば、「<span class="marker"><strong>あなたは〇〇です。</strong></span>」というような表現です。プロンプトエンジニアリングの情報は日本語では情報があまりなく、英語では「<span class="marker"><strong>I want you to act as a …</strong></span>」のような説明がされます、日本語に直すと「あなたは〇〇です」ということになるのかなと思います。</p>



<p class="wp-block-paragraph">ChatGPTは、日本語はまだまだ強くないと言われているので「あなたは〇〇です」という表現がどの程度効くのかは正直分かりませんが、ChatGPTが何として振舞うかを指定するという考え方が重要ということでしょう。</p>



<p class="wp-block-paragraph">こちらのGithub「<a rel="noreferrer noopener" href="https://github.com/f/awesome-chatgpt-prompts" target="_blank">Ausome ChatGPT Prompts</a>」には、ChatGPTで使えるプロンプト集のようになっています。ページをスクロールしてみると、以下引用画像のようなところがあります。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="678" height="881" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-30.png" alt="Awesome ChatGPT Prompts" class="wp-image-8273" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-30.png 678w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-30-231x300.png 231w" sizes="(max-width: 678px) 100vw, 678px" /></figure>
</div>


<p class="wp-block-paragraph">上記は、Linux端末として振舞うのか、英語翻訳者として振舞うのか・・・等々、色々と例が書かれています。リンク先は英語ではありますが、他にも例がたくさんあるので参考にしてみてもらえるとよいかと思います。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph">ChatGPTにおける<span class="marker"><strong>プロンプトエンジニアリング (Prompt Engineering)</strong></span>の基本的な考え方についてまとめてみました。</p>



<p class="wp-block-paragraph">プロンプトエンジニアリングは、ChatGPTや他のAIシステムの性能を向上させるための重要な要素であり、ユーザーが求める情報や結果を得られる確率を高めることができます。</p>



<p class="wp-block-paragraph">私もプロンプトエンジニアリングについては勉強中のため、また色々とまとめて紹介していけたらなと思います。</p>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/chatgpt-prompt-engineering-basics/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【ChatGPT】ChatGPTによるPythonプログラム生成 ~CNNでのMNIST画像分類~</title>
		<link>https://tech.nkhn37.net/chatgpt-python-generation-cnn-mnist/</link>
					<comments>https://tech.nkhn37.net/chatgpt-python-generation-cnn-mnist/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Thu, 13 Apr 2023 20:00:00 +0000</pubDate>
				<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[CNN]]></category>
		<category><![CDATA[MNIST]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[プログラム生成]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=8211</guid>

					<description><![CDATA[ChatGPTで、Pythonプログラム生成を試してみました。CNNによるMNIST画像分類のPythonプログラミングを生成してみたので、結果をまとめてみたいと思います。 ChatGPTによるPythonプログラム生成 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="marker"><strong>ChatGPT</strong></span>で、Pythonプログラム生成を試してみました。CNNによるMNIST画像分類のPythonプログラミングを生成してみたので、結果をまとめてみたいと思います。</p>



<h2 class="wp-block-heading jinr-heading d--bold">ChatGPTによるPythonプログラム生成</h2>



<p class="wp-block-paragraph">ChatGPTとは、<a rel="noreferrer noopener" href="https://openai.com/" target="_blank"><strong>OpenAI</strong></a>が開発したAIチャットサービスです。ChatGPTの概要やアカウント登録等の使い方は「<a rel="noreferrer noopener" href="https://tech.nkhn37.net/chatgpt-overview-usage/" target="_blank">【ChatGPT】概要と始め方・使い方</a>」でまとめていますので興味があれば参考にしてください。</p>



<p class="wp-block-paragraph">ChatGPTは、様々な利用場面での活用が期待されています。その中の一つがプログラミング領域です。ChatGPTでどのぐらいのことができるのかを試してみました。</p>



<p class="wp-block-paragraph">はじめに感想を言ってみると正直驚きました。一部の優秀なプログラマ以外は仕事がなくなっていくかもなと感じたところです。また、私が書いている本サイトの記事みたいなものもいらなくなってくるなと思いました。</p>



<p class="wp-block-paragraph">本記事では、CNNによるMNIST画像分類のPythonプログラム例を使いつつ、どんな感じであったかを紹介します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">ChatGPTでCNNによるMNIST画像分類</h2>



<p class="wp-block-paragraph">題材として私が過去に本サイトでまとめている「<a rel="noreferrer noopener" href="https://tech.nkhn37.net/tensorflow-keras-cnn-basic-mnist/" target="_blank">【TensorFlow/Keras】CNN（畳み込みニューラルネットワーク）による画像分類の基本</a>」を使おうかと思います。上記は、TensorFlow/Kerasを用いてCNN（畳み込みニューラルネットワーク）によるMNIST画像の分類をする例を紹介しているページです。</p>



<p class="wp-block-paragraph">CNNによるPythonプログラムをChagGPTだとどこまで作れるのかを試してみます。なお、以下結果の環境としては<span class="marker"><strong>ChatGPT Plus</strong></span>で最新の<span class="marker"><strong>GPT-4</strong></span>を使って試してみています。なお、無料版のGPT-3.5でも同様の結果は返ってきます。</p>



<p class="wp-block-paragraph">ChatGPTの回答は毎回変わるので、以下例と全く同じ結果は返ってこないと思ってください。私も何回か試しましたが、回答表現やプログラム内容は色々と変わりました。ただし、本質的にプログラムの部分は実際に実行可能なものを提供してくれました。</p>



<p class="wp-block-paragraph">では、順番に試したことを見ていきましょう。</p>



<h3 class="wp-block-heading jinr-heading d--bold">簡単に聞いてみる</h3>



<p class="wp-block-paragraph">まずは、簡単に以下の質問を投げかけてみます。すごく簡単な聞き方ですがどこまでのプログラムが生成されるかを見てみます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">あなたは優秀なPythonプログラマです。
CNNでMNIST画像分類をするプログラムを作成してください。</pre>



<p class="wp-block-paragraph">上記の質問を投げかけると以下のようにプログラムがどんどん書き始められます。以降の結果例では、以下のような回答内容を転記しつつ紹介していきます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="808" height="708" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-29.png" alt="ChatGPT CNN MNIST画像分類" class="wp-image-8239" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-29.png 808w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-29-300x263.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-29-768x673.png 768w" sizes="(max-width: 808px) 100vw, 808px" /></figure>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox5 ">
			<i class="jif jin-ifont-v2speaker" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">「<strong>あなたは〇〇です</strong>」というのは、ChatGPTに役割を与える方法の一つです。ChatGPTに良い回答をもらうには何として振舞うかを指定するとよいです。</p>



<p class="wp-block-paragraph">このように適切な回答を得る技術は<strong>プロンプトエンジニアリング</strong>と言います。日本語ではまだあまり情報がなく、私も勉強中です。</p>
</div>
		</div></section>



<p class="wp-block-paragraph">以下がChatGPTの回答内容を転記したものです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">MNIST画像分類のために、Kerasを使ってシンプルなCNNを構築します。このプログラムは、KerasとTensorFlowがインストールされていることを前提としています。以下のコードを実行してください。</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import numpy as np
import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical

# データをロードして前処理
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
train_images = train_images.reshape((60000, 28, 28, 1))
train_images = train_images.astype('float32') / 255
test_images = test_images.reshape((10000, 28, 28, 1))
test_images = test_images.astype('float32') / 255
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)

# CNNモデルを作成
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))

# 全結合層を追加
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))

# モデルをコンパイル
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

# モデルを学習
model.fit(train_images, train_labels, epochs=5, batch_size=64)

# テストデータで評価
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Test accuracy: {test_acc:.4f}")</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">このコードは、MNISTデータセットをロードし、前処理を行い、CNNモデルを構築・学習し、最後にテストデータで評価を行います。この例では、2つの畳み込み層と2つのプーリング層が含まれており、最後に全結合層が追加されています。モデルは、5エポックで学習され、テストデータの精度が出力されます。</pre>



<p class="wp-block-paragraph">上記のようにプログラムの記載の前後に説明文が加えられます。十分な説明がされている印象でした。実際にプログラムを実行してみた結果は以下の通りです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
Epoch 1/5
938/938 [==============================] - 13s 13ms/step - loss: 0.1847 - accuracy: 0.9432
Epoch 2/5
938/938 [==============================] - 13s 14ms/step - loss: 0.0515 - accuracy: 0.9844
Epoch 3/5
938/938 [==============================] - 12s 13ms/step - loss: 0.0365 - accuracy: 0.9886
Epoch 4/5
938/938 [==============================] - 12s 13ms/step - loss: 0.0279 - accuracy: 0.9915
Epoch 5/5
938/938 [==============================] - 13s 13ms/step - loss: 0.0227 - accuracy: 0.9930
313/313 [==============================] - 1s 2ms/step - loss: 0.0341 - accuracy: 0.9899
Test accuracy: 0.9899</pre>



<p class="wp-block-paragraph">普通に実行できました。正直驚きでした。</p>



<p class="wp-block-paragraph">なお、ChatGPTは会話サービスなので、最初で完璧な回答をしてもらうというよりは、続けて指示するというのを繰り返す使い方をするのが基本です。以降では、引き続きで色々と指示をしてみた結果を紹介します。</p>



<h3 class="wp-block-heading jinr-heading d--bold">条件を詳細に指定してみる</h3>



<p class="wp-block-paragraph">今回題材にしているCNNは、私が以前記載した<a rel="noreferrer noopener" href="https://tech.nkhn37.net/tensorflow-keras-cnn-basic-mnist/#TensorFlowKerasCNN" target="_blank">こちら</a>のページでもプログラム例を紹介しています。その時のプログラムは上記ページから参照してください。</p>



<p class="wp-block-paragraph">正直、ほぼ最初の簡単な質問で同じようなプログラムが生成されています。もう少し具体的な条件を追記して修正をしてもらいましょう。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">作成されたプログラムを以下の前提条件で修正してください。
・ネットワークのフィルタ数は32, 64, 128と適用してください。
・全結合層は128としてください。
・過学習防止のため、全結合層の前にドロップアウト(0.5)を追加してください。
・評価データは訓練データの20%を使用してください。
・モデルの構成をsummaryで取得して、printで表示してください。
・モデルの構成情報をplot_modelでshow_shape=Trueとして、"mnist_cnn_classifier.png"というファイル名で保存してください。
・history情報で損失関数(loss)と正解率(accuracy)の履歴を取得し、matplotlibで履歴を表示してください。
・predictを使ってMNISTの0番目のデータに対する予測と正解をprintで表示してください。</pre>



<p class="wp-block-paragraph">以下がChatGPTの回答内容を転記したものです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">上記の要件に従って、プログラムを修正しました。必要なライブラリもインポートしています。以下のコードを実行してください。</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import numpy as np
import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical, plot_model
import matplotlib.pyplot as plt

# データをロードして前処理
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
train_images = train_images.reshape((60000, 28, 28, 1))
train_images = train_images.astype('float32') / 255
test_images = test_images.reshape((10000, 28, 28, 1))
test_images = test_images.astype('float32') / 255
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)

# CNNモデルを作成
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))

# 全結合層を追加
model.add(layers.Flatten())
model.add(layers.Dropout(0.5))
model.add(layers.Dense(128, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))

# モデルをコンパイル
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

# モデルの構成を表示
model.summary()

# モデルの構成を画像として保存
plot_model(model, to_file='mnist_cnn_classifier.png', show_shapes=True)

# モデルを学習
history = model.fit(train_images, train_labels, epochs=5, batch_size=64, validation_split=0.2)

# 損失関数と正解率の履歴を表示
plt.plot(history.history['loss'], label='Training loss')
plt.plot(history.history['val_loss'], label='Validation loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
plt.show()

plt.plot(history.history['accuracy'], label='Training accuracy')
plt.plot(history.history['val_accuracy'], label='Validation accuracy')
plt.xlabel('Epochs')
plt.ylabel('Accuracy')
plt.legend()
plt.show()

# 0番目のデータに対する予測と正解を表示
prediction = model.predict(test_images[0:1])
print("Predicted label:", np.argmax(prediction))
print("True label:", np.argmax(test_labels[0]))</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">このコードは、前提条件に従って修正されたCNNモデルを構築・学習し、モデルの構成を表示・保存し、損失関数と正解率の履歴を表示し、最後に0番目のデータに対する予測と正解を表示します。</pre>



<p class="wp-block-paragraph">実際に実行してみると以下のようになります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">【実行結果】
Model: "sequential_1"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 conv2d_3 (Conv2D)           (None, 26, 26, 32)        320       
                                                                 
 max_pooling2d_2 (MaxPooling  (None, 13, 13, 32)       0         
 2D)                                                             
                                                                 
 conv2d_4 (Conv2D)           (None, 11, 11, 64)        18496
                                                                 
 max_pooling2d_3 (MaxPooling  (None, 5, 5, 64)         0         
 2D)                                                             
                                                                 
 conv2d_5 (Conv2D)           (None, 3, 3, 128)         73856     
                                                                 
 flatten_1 (Flatten)         (None, 1152)              0         
                                                                 
 dropout (Dropout)           (None, 1152)              0      
                                                                 
 dense_2 (Dense)             (None, 128)               147584    
                                                                 
 dense_3 (Dense)             (None, 10)                1290      
                                                                 
=================================================================
Total params: 241,546
Trainable params: 241,546
Non-trainable params: 0
_________________________________________________________________
Epoch 1/5
750/750 [==============================] - 12s 15ms/step - loss: 0.2060 - accuracy: 0.9353 - val_loss: 0.0586 - val_accuracy: 0.9832
Epoch 2/5
750/750 [==============================] - 11s 15ms/step - loss: 0.0621 - accuracy: 0.9802 - val_loss: 0.0396 - val_accuracy: 0.9887
Epoch 3/5
750/750 [==============================] - 11s 15ms/step - loss: 0.0468 - accuracy: 0.9852 - val_loss: 0.0454 - val_accuracy: 0.9863
Epoch 4/5
750/750 [==============================] - 11s 15ms/step - loss: 0.0384 - accuracy: 0.9876 - val_loss: 0.0329 - val_accuracy: 0.9902
Epoch 5/5
750/750 [==============================] - 11s 15ms/step - loss: 0.0325 - accuracy: 0.9896 - val_loss: 0.0338 - val_accuracy: 0.9908

1/1 [==============================] - 0s 73ms/step
Predicted label: 7
True label: 7</pre>



<p class="wp-block-paragraph"><strong>表示画像</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="577" height="431" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-25.png" alt="ChatGPT CNN Loss" class="wp-image-8227" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-25.png 577w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-25-300x224.png 300w" sizes="(max-width: 577px) 100vw, 577px" /></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="567" height="426" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-27.png" alt="ChatGPT CNN Accuracy" class="wp-image-8229" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-27.png 567w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-27-300x225.png 300w" sizes="(max-width: 567px) 100vw, 567px" /></figure>
</div>


<p class="wp-block-paragraph"><strong>mnist_cnn_classifier.png</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="384" height="1024" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-28-384x1024.png" alt="" class="wp-image-8231" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-28-384x1024.png 384w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-28-113x300.png 113w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-28.png 399w" sizes="(max-width: 384px) 100vw, 384px" /></figure>
</div>


<p class="wp-block-paragraph">上記のように指定した条件の通りのモデルの作成や、損失関数や正解率の表示、モデルの保存といった一連の動作を動作可能なプログラムを生成できました。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox5 ">
			<i class="jif jin-ifont-v2speaker" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<ul class="wp-block-list jinr-list">
<li>説明文の途中で表示が止まってしまう場合は「<strong>続き</strong>」「<strong>つづき</strong>」などとすると回答が再開されます。</li>



<li>プログラムの表示エリアの途中で止まってしまう場合は、「つづき」等とすると、プログラムを普通の説明文として回答を再開してしまうなど表示が崩れることがあります。「<strong>プログラムの続きをプログラム表示エリアで再開してください。</strong>」などのように明確にプログラムの続きを書くように促すと崩れにくくなります。</li>
</ul>
</div>
		</div></section>



<h3 class="wp-block-heading jinr-heading d--bold">作成プログラムの修正・書き換え</h3>



<h4 class="wp-block-heading jinr-heading d--bold">関数化してもらう</h4>



<p class="wp-block-paragraph">次は、これまでのChatGPT回答プログラムの実行機能を関数化してみてもらいましょう。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">可能な限り機能を関数化し、main関数を作成してください。</pre>



<p class="wp-block-paragraph">以下がChatGPTの回答内容を転記したものです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">以下のコードは、機能を関数化し、main関数を作成しています。各機能は独立した関数に分割され、main関数内で呼び出されます。</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import numpy as np
import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical, plot_model
import matplotlib.pyplot as plt

def load_and_preprocess_data():
    (train_images, train_labels), (test_images, test_labels) = mnist.load_data()
    train_images = train_images.reshape((60000, 28, 28, 1))
    train_images = train_images.astype('float32') / 255
    test_images = test_images.reshape((10000, 28, 28, 1))
    test_images = test_images.astype('float32') / 255
    train_labels = to_categorical(train_labels)
    test_labels = to_categorical(test_labels)
    
    return (train_images, train_labels), (test_images, test_labels)

def build_model():
    model = models.Sequential()
    model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
    model.add(layers.MaxPooling2D((2, 2)))
    model.add(layers.Conv2D(64, (3, 3), activation='relu'))
    model.add(layers.MaxPooling2D((2, 2)))
    model.add(layers.Conv2D(128, (3, 3), activation='relu'))

    model.add(layers.Flatten())
    model.add(layers.Dropout(0.5))
    model.add(layers.Dense(128, activation='relu'))
    model.add(layers.Dense(10, activation='softmax'))
    
    model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
    
    return model

def display_and_save_model(model):
    model.summary()
    plot_model(model, to_file='mnist_cnn_classifier.png', show_shapes=True)

def plot_history(history):
    plt.plot(history.history['loss'], label='Training loss')
    plt.plot(history.history['val_loss'], label='Validation loss')
    plt.xlabel('Epochs')
    plt.ylabel('Loss')
    plt.legend()
    plt.show()

    plt.plot(history.history['accuracy'], label='Training accuracy')
    plt.plot(history.history['val_accuracy'], label='Validation accuracy')
    plt.xlabel('Epochs')
    plt.ylabel('Accuracy')
    plt.legend()
    plt.show()

def predict_and_display(model, test_images, test_labels):
    prediction = model.predict(test_images[0:1])
    print("Predicted label:", np.argmax(prediction))
    print("True label:", np.argmax(test_labels[0]))

def main():
    (train_images, train_labels), (test_images, test_labels) = load_and_preprocess_data()
    model = build_model()
    display_and_save_model(model)
    history = model.fit(train_images, train_labels, epochs=5, batch_size=64, validation_split=0.2)
    plot_history(history)
    predict_and_display(model, test_images, test_labels)

if __name__ == '__main__':
    main()</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">このコードでは、load_and_preprocess_data、build_model、display_and_save_model、plot_history、predict_and_displayという5つの関数が定義されています。最後にmain関数が定義され、上記の関数を適切な順序で呼び出しています。</pre>



<p class="wp-block-paragraph">上記のように、機能ごとの関数化ができています。また、if __name__ == &#8216;__main__&#8217;でこのスクリプトが直接呼び出されたときにのみmain関数が動くように適切にプログラミングがされました。</p>



<h4 class="wp-block-heading jinr-heading d--bold">モデル構築の実装方法を変更してもらう</h4>



<p class="wp-block-paragraph">TensorFlowの実装では、「<a rel="noreferrer noopener" href="https://tech.nkhn37.net/tensorflow-keras-sequential-functional-subclassing-api/" target="_blank">Keras APIでモデルを構築する色々な方法と違い（Sequential API, Functional API, Subclassing API）</a>」で紹介しているように、3つのモデル構築方法が使用できます。上記までの回答では最もシンプルなSequential APIを使った実装でした。</p>



<p class="wp-block-paragraph">以降では、より高度なFunctional APIやSubclassing APIの実装方法で書き換えてもらってみました。</p>



<h5 class="wp-block-heading jinr-heading d--bold">Functional APIに書き換える</h5>



<p class="wp-block-paragraph">作成したプログラムを以下のような指示でFunctionalAPIに書き換えてもらいます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">作成されたプログラムをFunctional APIを使って書き換えてください。</pre>



<p class="wp-block-paragraph">以下がChatGPTの回答内容を転記したものです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">以下のコードは、Functional APIを使用して書き換えられたプログラムです。build_model関数がFunctional APIを使用してモデルを構築するように変更されています。</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import numpy as np
import tensorflow as tf
from tensorflow.keras import layers, models, Input
from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical, plot_model
import matplotlib.pyplot as plt

def load_and_preprocess_data():
    (train_images, train_labels), (test_images, test_labels) = mnist.load_data()
    train_images = train_images.reshape((60000, 28, 28, 1))
    train_images = train_images.astype('float32') / 255
    test_images = test_images.reshape((10000, 28, 28, 1))
    test_images = test_images.astype('float32') / 255
    train_labels = to_categorical(train_labels)
    test_labels = to_categorical(test_labels)
    
    return (train_images, train_labels), (test_images, test_labels)

def build_model():
    inputs = Input(shape=(28, 28, 1))
    x = layers.Conv2D(32, (3, 3), activation='relu')(inputs)
    x = layers.MaxPooling2D((2, 2))(x)
    x = layers.Conv2D(64, (3, 3), activation='relu')(x)
    x = layers.MaxPooling2D((2, 2))(x)
    x = layers.Conv2D(128, (3, 3), activation='relu')(x)

    x = layers.Flatten()(x)
    x = layers.Dropout(0.5)(x)
    x = layers.Dense(128, activation='relu')(x)
    outputs = layers.Dense(10, activation='softmax')(x)
    
    model = models.Model(inputs=inputs, outputs=outputs)
    model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
    
    return model

def display_and_save_model(model):
    model.summary()
    plot_model(model, to_file='mnist_cnn_classifier.png', show_shapes=True)

def plot_history(history):
    plt.plot(history.history['loss'], label='Training loss')
    plt.plot(history.history['val_loss'], label='Validation loss')
    plt.xlabel('Epochs')
    plt.ylabel('Loss')
    plt.legend()
    plt.show()

    plt.plot(history.history['accuracy'], label='Training accuracy')
    plt.plot(history.history['val_accuracy'], label='Validation accuracy')
    plt.xlabel('Epochs')
    plt.ylabel('Accuracy')
    plt.legend()
    plt.show()

def predict_and_display(model, test_images, test_labels):
    prediction = model.predict(test_images[0:1])
    print("Predicted label:", np.argmax(prediction))
    print("True label:", np.argmax(test_labels[0]))

def main():
    (train_images, train_labels), (test_images, test_labels) = load_and_preprocess_data()
    model = build_model()
    display_and_save_model(model)
    history = model.fit(train_images, train_labels, epochs=5, batch_size=64, validation_split=0.2)
    plot_history(history)
    predict_and_display(model, test_images, test_labels)

if __name__ == '__main__':
    main()</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">このコードでは、build_model関数でFunctional APIを使用してモデルを構築しています。モデルは、入力層をInput関数で定義し、次の層を順に接続していきます。最後に、models.Modelを使用して入力と出力を指定し、モデルを作成します。その後、以前のコードと同様に、モデルをコンパイル、学習、評価しています。

Functional APIを使用することで、より複雑なモデル構造を簡単に構築できるようになります。この例では、シーケンシャルなモデルをFunctional APIを使用して書き換えただけですが、より柔軟なモデル構造が可能になります。たとえば、マルチ入力、マルチ出力、共有層、残差接続などのモデルを構築する際に有用です。</pre>



<p class="wp-block-paragraph">実行結果はSequential APIの場合と同じのため省略します。上記の通り、適切にFunctional APIに書き換えるとともに、Functional APIでの実装方法の特徴についても説明がされています。</p>



<h5 class="wp-block-heading jinr-heading d--bold">Subclassing APIに書き換える</h5>



<p class="wp-block-paragraph">次に、作成したプログラムを以下のような指示でSubclassing APIに書き換えてもらいます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">作成されたプログラムをSubclassing APIを使って書き換えてください。</pre>



<p class="wp-block-paragraph">以下がChatGPTの回答内容を転記したものです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">以下のコードは、Subclassing APIを使用して書き換えられたプログラムです。MNISTClassifierという新しいクラスが作成され、tf.keras.Modelを継承しています。このクラス内でモデルの構造が定義されており、build_model関数でインスタンス化されています。</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import numpy as np
import tensorflow as tf
from tensorflow.keras import layers, models, Input
from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical, plot_model
import matplotlib.pyplot as plt

def load_and_preprocess_data():
    (train_images, train_labels), (test_images, test_labels) = mnist.load_data()
    train_images = train_images.reshape((60000, 28, 28, 1))
    train_images = train_images.astype('float32') / 255
    test_images = test_images.reshape((10000, 28, 28, 1))
    test_images = test_images.astype('float32') / 255
    train_labels = to_categorical(train_labels)
    test_labels = to_categorical(test_labels)
    
    return (train_images, train_labels), (test_images, test_labels)

class MNISTClassifier(models.Model):
    def __init__(self):
        super(MNISTClassifier, self).__init__()
        self.conv1 = layers.Conv2D(32, (3, 3), activation='relu')
        self.pool1 = layers.MaxPooling2D((2, 2))
        self.conv2 = layers.Conv2D(64, (3, 3), activation='relu')
        self.pool2 = layers.MaxPooling2D((2, 2))
        self.conv3 = layers.Conv2D(128, (3, 3), activation='relu')

        self.flatten = layers.Flatten()
        self.dropout = layers.Dropout(0.5)
        self.dense1 = layers.Dense(128, activation='relu')
        self.dense2 = layers.Dense(10, activation='softmax')
    
    def call(self, inputs):
        x = self.conv1(inputs)
        x = self.pool1(x)
        x = self.conv2(x)
        x = self.pool2(x)
        x = self.conv3(x)

        x = self.flatten(x)
        x = self.dropout(x)
        x = self.dense1(x)
        x = self.dense2(x)
        
        return x

def build_model():
    model = MNISTClassifier()
    model.build(input_shape=(None, 28, 28, 1))
    model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
    
    return model

def display_and_save_model(model):
    model.summary()
    plot_model(model, to_file='mnist_cnn_classifier.png', show_shapes=True, expand_nested=True)

def plot_history(history):
    plt.plot(history.history['loss'], label='Training loss')
    plt.plot(history.history['val_loss'], label='Validation loss')
    plt.xlabel('Epochs')
    plt.ylabel('Loss')
    plt.legend()
    plt.show()

    plt.plot(history.history['accuracy'], label='Training accuracy')
    plt.plot(history.history['val_accuracy'], label='Validation accuracy')
    plt.xlabel('Epochs')
    plt.ylabel('Accuracy')
    plt.legend()
    plt.show()

def predict_and_display(model, test_images, test_labels):
    prediction = model.predict(test_images[0:1])
    print("Predicted label:", np.argmax(prediction))
    print("True label:", np.argmax(test_labels[0]))

def main():
    (train_images, train_labels), (test_images, test_labels) = load_and_preprocess_data()
    model = build_model()
    display_and_save_model(model)
    history = model.fit(train_images, train_labels, epochs=5, batch_size=64, validation_split=0.2)
    plot_history(history)
    predict_and_display(model, test_images, test_labels)

if __name__ == '__main__':
    main()</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">このコードでは、MNISTClassifierというサブクラス化されたモデルが使用されています。このモデルは、build_model関数でインスタンス化され、以前のコードと同様にコンパイル、学習、評価が行われています。

Subclassing APIは、カスタムモデルを作成する際に非常に柔軟性があります。特に、独自の層や構造を持つモデルを構築する際に有用です。ただし、この方法では、モデルの構造がPythonコードで定義されているため、その構造を直接把握することが難しい場合があります。</pre>



<p class="wp-block-paragraph">実行結果はSequential APIの場合と同じのため省略します。tf.keras.Modelを継承したカスタムモデルが作成されていることが分かります。また、Subclassing APIは柔軟である一方でモデル構造が把握しずらいという特徴をしっかりと説明できています。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph"><span class="marker"><strong>ChatGPT</strong></span>で、Pythonプログラム生成を試してみました。具体的には、CNNによるMNIST画像分類のPythonプログラミングを生成してみた結果例を紹介しています。いかがだったでしょうか。</p>



<p class="wp-block-paragraph">非常に簡単な質問でも十分なプログラムの回答をしてくれましたが、細かな条件指定や、機能の関数化、実装方法の変更など幅広く指示に沿ったプログラムを生成してくれていることが分かるかと思います。</p>



<p class="wp-block-paragraph">ただし、実際に皆さんも上記のように実行してみていただくと分かりますが、回答のされ方やプログラム構成等が微妙に変わりますので、あまりよい回答が得られなかったり、誤った回答が返ってくる可能性もあります。</p>



<p class="wp-block-paragraph">また、細かな部分は、プログラマが自分で修正するのが現状は早いかなと感じます。全体として動くプログラムを提供してくれますし、未経験で少し勉強した程度のPythonプログラマよりはよっぽどよいプログラムを生成してくれる印象です。最初にベースとなるプログラムをChatGPTで生成し、細部チューニングをするというのが効率的にプログラム開発に活用できる方法かなと感じました。</p>



<p class="wp-block-paragraph">ChatGPTがより性能が良くなってきたら、本当に一部の優秀なプログラマ以外はいらなくなってくるかもしれませんね。また、本サイトのようなプログラムに関する説明サイトなども不要になってくる気がしました。</p>



<p class="wp-block-paragraph">皆さんもChatGPTで色々と指示をしてプログラムを作ってみてもらえると面白いかと思います。</p>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/chatgpt-python-generation-cnn-mnist/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【ChatGPT】概要と始め方・使い方</title>
		<link>https://tech.nkhn37.net/chatgpt-overview-usage/</link>
					<comments>https://tech.nkhn37.net/chatgpt-overview-usage/#respond</comments>
		
		<dc:creator><![CDATA[naoki-hn]]></dc:creator>
		<pubDate>Sat, 08 Apr 2023 20:00:00 +0000</pubDate>
				<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[ChatGPT Plus]]></category>
		<category><![CDATA[GPT-3.5]]></category>
		<category><![CDATA[GPT-4]]></category>
		<category><![CDATA[OpenAI]]></category>
		<guid isPermaLink="false">https://tech.nkhn37.net/?p=8147</guid>

					<description><![CDATA[ChatGPTの概要と始め方・使い方について解説します。 ChatGPTとは 本記事では、2023年話題のChatGPTについてまとめます。ChatGPTとは？という概要から、ChatGPTの始め方、基本的な使い方につい [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><span class="marker"><strong>ChatGPT</strong></span>の概要と始め方・使い方について解説します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">ChatGPTとは</h2>



<p class="wp-block-paragraph">本記事では、2023年話題の<span class="marker"><strong>ChatGPT</strong></span>についてまとめます。ChatGPTとは？という概要から、ChatGPTの始め方、基本的な使い方について紹介していきます。</p>



<h3 class="wp-block-heading jinr-heading d--bold">ChatGPTの概要</h3>



<p class="wp-block-paragraph">ChatGPTとは、<span class="marker"><a rel="noreferrer noopener" href="https://openai.com/" target="_blank"><strong>OpenAI</strong></a></span>が開発したAIチャットサービスです。利用者が質問した内容に対して自然な形で回答が返ってきて会話ができるサービスで、2022年11月に公開されて以降、急激に注目を集め始めました。</p>



<p class="wp-block-paragraph">リリース後の約2か月程度でユーザー数が約1億人を突破し、Microsoftとも連携していることからこれからの成長にも期待が高まっています。</p>



<p class="wp-block-paragraph">2023年にはより性能向上した<span class="marker"><strong>GPT-4</strong></span>がリリースされて、<span class="marker"><strong>ChatGPT Plus</strong></span>という有料プランのユーザーで利用できるようになりました。GPT-4やChatGPT Plusについては、以降でも取り上げます。</p>



<p class="wp-block-paragraph">ChatGPTは、膨大なデータから学習をしており、文章の要約や翻訳、歴史的な出来事の説明、プログラミングや数学問題の解答等、様々な内容に対応することができます。まだ、日本語UIのサービスはありませんが、日本語チャットにも対応しています。</p>



<p class="wp-block-paragraph">ChatGPTは非常に高度な内容を生成して回答できますが、あくまで過去の情報をもとにしていることから正確ではない回答を返す可能性があります。また、最新データがモデルにすぐに反映されるわけではないので直近の出来事に関する質問も苦手です。ただし、こういった点もこれからの技術発展の中で徐々に改善されていくだろうと私も非常に期待をしています。</p>



<h3 class="wp-block-heading jinr-heading d--bold">ChatGPTとGoogle検索の違い</h3>



<p class="wp-block-paragraph">ChatGPTは情報を取得するために非常な有用なツールです。情報を取得というとまずGoogle検索が出てくる方が多いのではないかと思います。ここではChatGPTとGoogle検索の違いを簡単に整理します。</p>



<p class="wp-block-paragraph">簡単に言ってみると以下のように表現できるかなと思います。</p>



<ul class="wp-block-list jinr-list">
<li>Googleは、Web情報を<span class="marker"><strong>検索するため</strong></span>のツール</li>



<li>ChatGPTは、膨大な情報から個人が求める情報を取得することを目的に<span class="marker"><strong>会話をするため</strong></span>のツール</li>
</ul>



<p class="wp-block-paragraph">もう少し細かく項目ごとに特徴を書いてみます。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>項目</th><th>Google</th><th>ChatGPT</th></tr></thead><tbody><tr><td>目的</td><td>Webページの情報へのリンクを得るための検索エンジン</td><td>個人が求める情報を取得し活用するための会話ツール</td></tr><tr><td>入力情報</td><td>検索キーワード</td><td>会話形式の文章</td></tr><tr><td>出力情報</td><td>Webページのリスト<br>(一般的な情報)</td><td>単一の回答<br>(パーソナライズされた情報)</td></tr><tr><td>情報のカバー範囲</td><td>膨大な量のWEB情報</td><td>学習に使用された情報</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">上記のように、まずは検索エンジンなのか会話ツールなのかという点で目的が異なっています。</p>



<p class="wp-block-paragraph">入出力情報にも大きな違いがあります。Googleでは検索キーワードを入力し、結果返ってくるのはWebページのリストです。この情報は検索キーワードに意味が近いページへのリストで必ずしも自分が求めている情報が含まれているとは限りません。</p>



<p class="wp-block-paragraph">一方で、ChatGPTは会話形式で質問をし、結果返ってくるのは単一の回答です。その結果に対して繰り返し会話をやり取りすることでパーソナライズされた（個人の属性や目的に合わせた）情報を取得できるのがChatGPTにおける大きな特徴です。</p>



<p class="wp-block-paragraph">また、情報のカバー範囲についても注意が必要です。Googleは膨大なWEB情報を対象に情報を検索できますが、ChatGPTはあくまで学習された情報の中から情報を回答します。つまり、学習されていない直近の情報等については適切な回答ができない可能性があることを理解しておきましょう。</p>



<h3 class="wp-block-heading jinr-heading d--bold">ChatGPTに今、触れるべき理由</h3>



<p class="wp-block-paragraph">ChatGPTは、今後の世の中、仕事を大きく変える力があると感じています。現在の情報の収集は、Google検索やTwitter、Instagram等のSNSが中心かと思いますが、今後その中にChatGPTが入り込んでくるのではないかと思います。</p>



<p class="wp-block-paragraph">また、ChatGPTは、優秀な先生や秘書が自分につくようなものと考えることができます。面倒な情報収集や基本的な提案をChatGPTにしてもらい、自分はより創造的な検討や判断をすることに頭を使うことができるようになるでしょう。ChatGPTで必要がなくなるような職業も出てくるものと考えられます。</p>



<p class="wp-block-paragraph">ChatGPTについては、使い方次第だという点をよく覚えておく必要があります。ChatGPTでのよりよい回答を引き出すためのお作法のようなものがあり、正直ここは私も現在勉強中です。</p>



<p class="wp-block-paragraph">例えば、ChatGPTがどういった役割として振舞うかを事前に決めることで回答の質が変わります。これにより子供向けの説明や大人向けの説明といったように表現を変えたりするようなこともできます。さらに、質問の前提条件を正確に指定する方が正確な答えが返ってきます。例えば、旅行のプランを提案してもらうなら家族構成、予算、移動のための時間等といった形です。</p>



<p class="wp-block-paragraph">また、ChatGPTは会話なので返ってきた回答に修正を加えてより正確な答えにたどり着いていくというのが基本的な考え方です。その際にもよい質問の返し方等の作法があるようです。</p>



<p class="wp-block-paragraph">「Garbage In, Garbage Out（GIGO, ガベージ・イン、ガベージ・アウト）」という言葉があります。これはゴミな入力データは、ゴミな出力を生み出すという考え方です。ChatGPTにも同様のことが言えて、よりよく使いこなすにはどういった使い方がよいのかを利用者が学ぶ必要があります。</p>



<p class="wp-block-paragraph">早くChatGPTに触れれば触れるほど、どう質問するとよい回答が返ってくるのかという感覚が磨けると感じます。そのためにも早くChatGPTには触れていくべきだと個人的に感じています。</p>



<h3 class="wp-block-heading jinr-heading d--bold">GPT-nの技術的な歴史</h3>



<p class="wp-block-paragraph">ChatGPTのベースとなっている技術は、<span class="marker"><strong>GPT</strong></span>（<strong>G</strong>enerative <strong>P</strong>re-Trained <strong>T</strong>ransformer）という技術です。GPTにはバージョンがあって、これまで1, 2, 3, 4と発展してきました。</p>



<p class="wp-block-paragraph">ChatGPTとして有名になったのはGPT-3.5であり、2023年3月にGPT-4をベースとしたChatGPTが公開されています。ChatGPT-4を使用するには本記事執筆時点では、有償版のChatGPT Plusを使用する必要があります。</p>



<p class="wp-block-paragraph">少し技術的な歴史について紹介しましょう。GPT-1以前の自然言語モデルは教師あり学習を使って大量のラベル付き教師あり学習をしており、特定のタスク以外に対して一般化することが困難でした。そこでラベルがついていないデータでの言語モデルを事前学習し、様々な下流タスクにファインチューニングする手法として、GPTが考案されました。</p>



<p class="wp-block-paragraph">GPT-1は、2018年6月にOpenAIから発表されました。GPT-1は、1.5億のパラメータを持ち、事前に学習された自然言語処理モデルでした。同時期2018年10月にGoogleAIから発表された<span class="marker"><strong>BERT</strong></span>（<strong>B</strong>idirectional <strong>E</strong>ncoder <strong>R</strong>epresentations from <strong>T</strong>ransformers: バート）が有名になったためGPT-1はあまり有名にならなかったと言われています。</p>



<p class="wp-block-paragraph">その後、GPT-2ではRedditというソーシャルメディアをスクレイピングしたWebTextコーパスという800万もの文章を含むより大規模なデータセットで学習がされ、モデルのパラメータ数はGPT-1の約10倍となる15億となっています。</p>



<p class="wp-block-paragraph">さらに、その後のGPT-3では、より大きなデータセットとしてCommon CrawlというデータセットやWebText、Wikipediaをデータセットとしてモデルを学習しており、パラメータ数はGPT2の15億の約100倍となる1,750億となっています。</p>



<p class="wp-block-paragraph">ChatGPTは、GPT-3.5がベースとなっています。その後、GPT-4が出てきています。また、本記事更新時点ではChatGPT-4.5や ChatGPT-5.0という話題も出ていますが具体的なリリース時期などについては明確になっていません。</p>



<p class="wp-block-paragraph">以降では、本記事更新時点で使用可能なGPT-3.5とGPT-4の違いについて簡単にまとめてみようと思います。</p>



<h3 class="wp-block-heading jinr-heading d--bold">ChatGPT 3.5と4の違い</h3>



<h4 class="wp-block-heading jinr-heading d--bold">機能的な違い</h4>



<p class="wp-block-paragraph">2023年3月にGPT-4という最新バージョンが公開されました。GPT-3.5とGPT4との違いについて簡単に整理してみたいと思います。</p>



<p class="wp-block-paragraph">GPT-4については、正確なパラメータ数は不明ですが、GPT-3の約1750億から大幅にパラメータ数が増えていると言われています。一時100兆個という話がでましたが、OpenAIのCEOのサム・アルトマンは否定しています。</p>



<p class="wp-block-paragraph">性能面でも、実際に以下のような点で改善がされているようです。</p>



<ol class="wp-block-list jinr-list">
<li>能力の向上（司法試験スコアの上昇）</li>



<li>大量のテキスト処理能力 (約25,000文字)</li>



<li>画像内容の解析ができる</li>
</ol>



<p class="wp-block-paragraph">GPT-4では、より頭が良くなっていると言われています。司法試験の問題を実際に受けた際のスコアでは、GPT-3.5が受験者の下位10%程度のスコアなのに対して、GPT-4では上位10%のスコアに急上昇しています。</p>



<p class="wp-block-paragraph">また、大量テキスト処理ができるようになっており、GPT-3.5では約5,000文字の処理性能であったのに対して、GPT-4では、約25,000文字が処理できるようになっています。これによりより長いコンテンツの作成や文書分析ができるようになっています。</p>



<p class="wp-block-paragraph">さらに、GPT-4では、新たに画像内容を解析できる機能に対応しています。GPT-4に画像を読み込ませて、この画像のおかしな点を説明してくださいというような質問をすると正確に指摘できるような事例もあります。</p>



<p class="wp-block-paragraph">このようにGPT-4は大幅に機能改善がされています。ただし、GPT-4の機能は本記事執筆時点では有償版のChatGPT Plusを使用する必要があります。</p>



<h4 class="wp-block-heading jinr-heading d--bold">性能、処理速度等について</h4>



<p class="wp-block-paragraph">ChatGPTでは、記事更新時点ではChatGPT-3.5 Defaultモード、ChatGPT-3.5 Legacyモード、ChatGPT-4といった種類が用意されています。</p>



<p class="wp-block-paragraph">無料アカウントでは、ChatGPT-3.5 Defaultモードが利用されます。後述するChatGPT Plusアカウントにするとモードを切り替えられるようになります。ChatGPT Plusでモードを選択するプルダウンで以下のような性能、スピードといった情報が分かります。</p>



<p class="wp-block-paragraph"><strong>ChatGPT-3.5 Defaultモード</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="679" height="250" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-41.png" alt="ChatGPT-3.5 Defaultモード" class="wp-image-8306" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-41.png 679w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-41-300x110.png 300w" sizes="(max-width: 679px) 100vw, 679px" /></figure>
</div>


<p class="wp-block-paragraph"><strong>ChatGPT-3.5 Legacyモード</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="687" height="238" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-42.png" alt="ChatGPT-3.5 Legacyモード" class="wp-image-8307" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-42.png 687w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-42-300x104.png 300w" sizes="(max-width: 687px) 100vw, 687px" /></figure>
</div>


<p class="wp-block-paragraph"><strong>ChatGPT-4</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="698" height="329" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-43.png" alt="ChatGPT-4" class="wp-image-8308" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-43.png 698w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-43-300x141.png 300w" sizes="(max-width: 698px) 100vw, 698px" /></figure>
</div>


<p class="wp-block-paragraph">上記のようにモデルにより性能や処理速度の差があります。ChatGPT-3.5 Defaultモードでは、Speedに最適化されていて処理速度が早いことが分かります。</p>



<p class="wp-block-paragraph">一方で、最新のChatGPT-4では、Reasoning(推論)、Conciseness(簡潔さ)といった項目が高い一方で、Speed(処理速度)は遅めです。確かに実際にChatGPT-4を使用すると少し回答速度は遅いと感じます。このようにモデルには性能、処理速度に違いがあります。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox5 ">
			<i class="jif jin-ifont-v2speaker" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph"><strong>ChatGPT-3.5 DefaultモードとLegacyモードの違い</strong></p>



<p class="wp-block-paragraph">Defaultモードは、最新のGPT-3モデルに基づいてトレーニングされたモデルで、多数のトピックに対応できるように設計されています。Defaultモードは、より多くのトピックに対応するために、より幅広いトピックに関するデータセットでトレーニングされています。Defaultモードは、GPT-3の特徴である高度な自然言語処理能力を備えており、一般的な会話や情報検索などのタスクに適しています。</p>



<p class="wp-block-paragraph">一方、Legacyモードは、GPT-2に基づいてトレーニングされたモデルで、より限定されたトピックに特化しています。Legacyモードは、より古いデータセットでトレーニングされており、特定のトピックやドメインに関する情報に特化しています。Legacyモードは、技術的な文書や専門用語を含むトピックに関する質問や会話に適しています。</p>



<p class="wp-block-paragraph">Defaultモードは、より広範囲なトピックに対応しており、一般的な会話に適している一方、Legacyモードは、より特化したトピックに関する会話に適しています。どちらのモードを使用するかは、利用者の目的や要件に応じて選択する必要があります。</p>
</div>
		</div></section>



<h4 class="wp-block-heading jinr-heading d--bold">ChatGPT-4の実行頻度制限</h4>



<p class="wp-block-paragraph">本記事更新時点では、ChatGPT-4には実行頻度に制限がかかっています。具体的には、<span class="marker"><strong>3時間ごとに50メッセージが上限</strong></span>となっていますので注意しましょう。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="695" height="116" src="https://tech.nkhn37.net/wp-content/uploads/2023/07/image-28.png" alt="ChatGPT-4 実行頻度制限" class="wp-image-8496" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/07/image-28.png 695w, https://tech.nkhn37.net/wp-content/uploads/2023/07/image-28-300x50.png 300w" sizes="(max-width: 695px) 100vw, 695px" /></figure>
</div>


<h3 class="wp-block-heading jinr-heading d--bold">ChatGPT Plusと無料版の違い</h3>



<p class="wp-block-paragraph">ChatGPT Plusとは、ChatGPTの有料版サービスです。OpenAIによる紹介ページの<a rel="noreferrer noopener" href="https://openai.com/blog/chatgpt-plus" target="_blank">こちら</a>に記載があります。ChatGPT Plusは<span class="marker"><strong>月額20ドル</strong></span>で利用が可能で、以下のような利点があります。</p>



<ul class="wp-block-list jinr-list">
<li>ピーク時でもChatGPTへのアクセスが普通に利用可能</li>



<li>より速い応答性能</li>



<li>新機能や改善に優先的にアクセスが可能</li>
</ul>



<p class="wp-block-paragraph">2023年2月10日に、米国以外の利用者向けにChatGPT Plusへのアクセスが拡大されています。OpenAIは無料版は継続して提供し続けるようです。サブスクリプションを提供することでできる限り多くのユーザーに無料アクセスを提供することができるとも言っています。</p>



<p class="wp-block-paragraph">上記で紹介したようなGPT-4機能などはChatGPT Plusが必要であるため、より最新の技術に触れたい方はChatGPT Plusの使用を検討してみてください。</p>



<h3 class="wp-block-heading jinr-heading d--bold">ChatGPT使用時の注意点</h3>



<p class="wp-block-paragraph">ChatGPTは、本記事更新時点での確認では、<span class="marker"><strong>2021年9月まで</strong></span>の情報しか保有していません。これはChatGPTで訓練されたデータセットがこの時点までしか含まないということです。そのため、最新の情報について聞いても回答してくれません。</p>



<p class="wp-block-paragraph">以下はChatGPT自体にいつまでの情報を持っているか聞いてみた結果です。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="837" height="271" src="https://tech.nkhn37.net/wp-content/uploads/2023/07/image-27.png" alt="ChatGPT 2021年9月 データセット" class="wp-image-8490" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/07/image-27.png 837w, https://tech.nkhn37.net/wp-content/uploads/2023/07/image-27-300x97.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/07/image-27-768x249.png 768w" sizes="(max-width: 837px) 100vw, 837px" /></figure>



<p class="wp-block-paragraph">このように情報に制約がある事は理解しておきましょう。また、ChatGPTが返す回答も必ず正しいというわけではありません。この点については十分理解した上で活用するようにしましょう。</p>



<section class="wp-block-jinr-blocks-iconbox b--jinr-block b--jinr-iconbox"><div class="d--simple-iconbox5 ">
			<i class="jif jin-ifont-v2speaker" aria-hidden="true"></i>
			<div class="a--jinr-iconbox">
<p class="wp-block-paragraph">ChatGPTでも、「<strong>WebChatGPT</strong>」や「<strong>ChatGPT plugins</strong>」といった拡張機能を導入することで2021年10月以降の情報も回答に組み込むことができるようになっているようです。また、使い方を調べてみたいと思います。</p>
</div>
		</div></section>



<h2 class="wp-block-heading jinr-heading d--bold">ChatGPTの始め方</h2>



<p class="wp-block-paragraph">以降では、ChatGPTの始め方として、無料アカウントを作成する方法について説明します。</p>



<h3 class="wp-block-heading jinr-heading d--bold">無料アカウントを使って始める</h3>



<h4 class="wp-block-heading jinr-heading d--bold">手順概要</h4>



<p class="wp-block-paragraph">無料アカウントを使ってChatGPTを始める方法について紹介します。大きな手順の流れとしては以下のようになります。</p>



<ol class="wp-block-list jinr-list">
<li>アカウント登録 (サインアップ)</li>



<li>メールアドレス認証</li>



<li>プロフィール入力</li>



<li>電話番号認証</li>
</ol>



<h4 class="wp-block-heading jinr-heading d--bold">具体的な方法</h4>



<p class="wp-block-paragraph">具体的なアカウント登録方法を説明していきます。画面については記事執筆時点のものであるため画面構成等変わっている可能性がある点はあらかじめご了承ください。</p>



<h5 class="wp-block-heading jinr-heading d--bold">アカウント登録 (サインアップ)</h5>



<p class="wp-block-paragraph">まずは、<a rel="noreferrer noopener" href="https://openai.com/blog/chatgpt" target="_blank">ChatGPT公式サイト</a>へアクセスし「Try ChatGPT」をクリックしてください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="528" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-2-1024x528.jpg" alt="ChatGPT 始め方 Try ChatGPT" class="wp-image-8160" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-2-1024x528.jpg 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-2-300x155.jpg 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-2-768x396.jpg 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-2.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">その後、以下の画面で「Sign up」をクリックしてください。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="563" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-1024x563.png" alt="ChatGPT 始め方 Sign up" class="wp-image-8161" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-1024x563.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-300x165.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-768x422.png 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">アカウントを作成します。メールアドレスを入力して、「Continue」をクリックしてください。「Continue with Google」「Continue with Microsoft Account」をクリックすると、GoogleやMicrosoftのアカウントで入れて便利なため、アカウントを持っている人はこちらを使うのがいいかと思います</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="926" height="708" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-4.png" alt="ChatGPT 始め方 Create your account" class="wp-image-8165" style="width:463px;height:354px" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-4.png 926w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-4-300x229.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-4-768x587.png 768w" sizes="(max-width: 926px) 100vw, 926px" /></figure>
</div>


<p class="wp-block-paragraph">次にパスワードを入力します。「At least 8 characters」という記載があるので最低8文字以上のパスワードとする必要があります。パスワードを入力したら「Continue」をクリックしてください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="911" height="608" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-6.png" alt="ChatGPT 始め方 Create your account" class="wp-image-8168" style="width:456px;height:304px" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-6.png 911w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-6-300x200.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-6-768x513.png 768w" sizes="(max-width: 911px) 100vw, 911px" /></figure>
</div>


<h5 class="wp-block-heading jinr-heading d--bold">メールアドレス認証</h5>



<p class="wp-block-paragraph">以下のようなメールアドレスの認証が表示されるので、登録したアドレスを確認してください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="670" height="508" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-7.png" alt="ChatGPT 始め方 Verify your email" class="wp-image-8169" style="width:335px;height:254px" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-7.png 670w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-7-300x227.png 300w" sizes="(max-width: 670px) 100vw, 670px" /></figure>
</div>


<p class="wp-block-paragraph">メールを開くと「OpenAI &#8211; Verify your email」というタイトルのメールが届いているかと思います。メール内に「Verify email address」というボタンがあるのでクリックしてください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" width="1024" height="450" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-8-1024x450.png" alt="ChatGPT 始め方 Verify your email" class="wp-image-8170" style="width:512px;height:225px" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-8-1024x450.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-8-300x132.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-8-768x338.png 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-8.png 1148w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h5 class="wp-block-heading jinr-heading d--bold">プロフィール入力</h5>



<p class="wp-block-paragraph">メールアドレスの確認が終わるとプロフィール入力画面になります。名前（First name）、名字（Last name）、誕生日（Birthday(MM/DD/YYYY)）を入力して「Continue」をクリックしてください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="992" height="621" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-9.png" alt="ChatGPT 始め方 Tell us about you" class="wp-image-8171" style="width:496px;height:311px" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-9.png 992w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-9-300x188.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-9-768x481.png 768w" sizes="(max-width: 992px) 100vw, 992px" /></figure>
</div>


<h5 class="wp-block-heading jinr-heading d--bold">電話番号認証</h5>



<p class="wp-block-paragraph">最後に電話番号認証があります。電話番号を入力して、「Send code」を入力してください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="837" height="408" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-10.png" alt="ChatGPT 始め方 Verify your phone number" class="wp-image-8172" style="width:419px;height:204px" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-10.png 837w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-10-300x146.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-10-768x374.png 768w" sizes="(max-width: 837px) 100vw, 837px" /></figure>
</div>


<p class="wp-block-paragraph">登録した電話番号に送られてきた認証番号を入力してください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="839" height="360" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-14.png" alt="ChatGPT 始め方 Enter code" class="wp-image-8179" style="width:420px;height:180px" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-14.png 839w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-14-300x129.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-14-768x330.png 768w" sizes="(max-width: 839px) 100vw, 839px" /></figure>
</div>


<p class="wp-block-paragraph">以上で、ChatGPTのアカウントの作成は完了です。実際にログインできるかを試してみてください。</p>



<h3 class="wp-block-heading jinr-heading d--bold">ChatGPT Plusへの切り替えて最新機能を試す</h3>



<p class="wp-block-paragraph">有償版のChatGPT Plusへの切り替え方法を紹介します。ChatGPT画面の左下にある「Upgrade to Plus」をクリックしてください。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="848" height="370" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-15.png" alt="ChatGPT Upgrade to Plus" class="wp-image-8189" style="width:424px;height:185px" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-15.png 848w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-15-300x131.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-15-768x335.png 768w" sizes="(max-width: 848px) 100vw, 848px" /></figure>
</div>


<p class="wp-block-paragraph">以下のような画面が表示されるため「Upgrade plan」をクリックします。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="388" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-16-1024x388.png" alt="ChatGPT Plus アカウント選択" class="wp-image-8190" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-16-1024x388.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-16-300x114.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-16-768x291.png 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-16.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">決済画面が表示されるため支払情報を記載して「申し込む」をクリックしてください。ChatGPT Plusでは月額で20ドルが必要です。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="866" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-17-1024x866.png" alt="ChatGPT Plus 支払い画面" class="wp-image-8191" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-17-1024x866.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-17-300x254.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-17-768x649.png 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-17.png 1157w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">決済が完了し、以下のような画面が表示されればChatGPT Plusが使用できるようになります。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" width="1024" height="378" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-18-1024x378.png" alt="ChatGPT Plus 支払い完了" class="wp-image-8192" style="width:512px;height:189px" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-18-1024x378.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-18-300x111.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-18-768x284.png 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-18.png 1026w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">ChatGPT Plusになると、チャット画面が以下のような「PLUS」表示になります。また、Modelを選択できるプルダウンが表示され、GPT-4をモデルとして選択できるようになります。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="1004" height="1019" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-19.png" alt="ChatGPT Plus 画面内容" class="wp-image-8193" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-19.png 1004w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-19-296x300.png 296w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-19-768x779.png 768w" sizes="(max-width: 1004px) 100vw, 1004px" /></figure>
</div>


<p class="wp-block-paragraph">デフォルトはGPT-3.5ですが、最新の機能を試したい場合にはGPT-4を選択してからチャットを開始してみてください。</p>



<h2 class="wp-block-heading jinr-heading d--bold">ChatGPTの基本的な使い方</h2>



<p class="wp-block-paragraph">以降では、ChatGPTの基本的な使い方について紹介します。</p>



<h3 class="wp-block-heading jinr-heading d--bold">基本的な使い方</h3>



<h4 class="wp-block-heading jinr-heading d--bold">画面構成</h4>



<p class="wp-block-paragraph">ChatGPTの基本的な画面構成は以下のようになっています。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="526" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-12-1024x526.png" alt="ChatGPT 画面構成" class="wp-image-8174" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-12-1024x526.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-12-300x154.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-12-768x395.png 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-12.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">左上にはチャット一覧があり、こちらに作成したチャットが追加されていきます。左下は、メニュー欄で以下のような項目があります。</p>



<ul class="wp-block-list jinr-list">
<li>Upgrade to Plus: Plus版へのアップグレード</li>



<li>Mode: Dark modeとLight modeの切り替え</li>



<li>Get help: ヘルプページ</li>



<li>Log out: ログアウト</li>
</ul>



<p class="wp-block-paragraph">画面の中央がチャットの表示欄です。最初はExample(例)等のボタンが表示されます。画面下部のメッセージ入力欄がチャットの入力欄です。ここにメッセージを入力することでChatGPTと会話することができます。</p>



<h4 class="wp-block-heading jinr-heading d--bold">チャットの始め方</h4>



<p class="wp-block-paragraph">では、簡単なチャットを始めてみましょう。</p>



<h5 class="wp-block-heading jinr-heading d--bold">チャットを入力して質問してみる</h5>



<p class="wp-block-paragraph">メッセージの入力欄に試しに「ChatGPTとは何か？」と入力してみます。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="525" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-13-1024x525.png" alt="ChatGPT 使い方 チャットで質問" class="wp-image-8175" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-13-1024x525.png 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-13-300x154.png 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-13-768x394.png 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-13.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">結果としては以下のような回答文が返ってきました。なお、左のチャット一覧には、自動で質問に対するタイトルが付けられます。チャット名は後から修正することが可能です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ChatGPTは、OpenAIが開発した大規模言語モデルの1つで、GPT-3.5アーキテクチャに基づいてトレーニングされたAIアシスタントです。ChatGPTは、人工知能を利用して自然言語でコミュニケーションすることができ、多岐にわたるトピックについての質問や会話に応答することができます。ChatGPTは、言語モデルとしての強力な機能と、前例のない自然な応答能力を備えています。</pre>



<p class="wp-block-paragraph">AIが生成したとは思えないようなとても自然で分かりやすい文章で回答が返ってきていますね。</p>



<p class="wp-block-paragraph">なお、左上の「New Chat」を押すことで新しいチャットを開始できるので、テーマごとにチャットを分けて管理するといったことができます。</p>



<h5 class="wp-block-heading jinr-heading d--bold">追加で質問する</h5>



<p class="wp-block-paragraph">上記の回答が返ってくるだけでも十分ですが、ChatGPTのすごいところは、前のやり取りを含めて情報を更新していけることです。では、より詳しく説明してもらうために「もっと詳しく教えて」と聞いてみることにします。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="526" src="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-14-1024x526.jpg" alt="ChatGPT 使い方 追加で質問" class="wp-image-8176" srcset="https://tech.nkhn37.net/wp-content/uploads/2023/04/image-14-1024x526.jpg 1024w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-14-300x154.jpg 300w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-14-768x395.jpg 768w, https://tech.nkhn37.net/wp-content/uploads/2023/04/image-14.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">返ってきた回答としては以下のような文章でした。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ChatGPTは、深層学習に基づく自然言語処理の分野で、最も先進的な技術の1つである「転移学習（Transfer Learning）」を使用してトレーニングされています。転移学習とは、あるタスクで学習されたモデルを、別のタスクで使用することで、より効率的な学習が可能になる手法です。

ChatGPTは、膨大な量のテキストデータを使用してトレーニングされ、一般的な語彙や文法を理解することができます。また、コンテキストを理解し、適切な応答を生成する能力も備えています。

ChatGPTは、オンラインのチャットボットやAIアシスタントとして使用されることが多く、ユーザーの質問や問題を解決するために活用されます。また、ChatGPTは、文章生成や翻訳、要約などの自然言語処理タスクにも使用されています。

ChatGPTは、GPT-3よりも大幅に大きく、より高度な自然言語処理能力を備えています。そのため、より複雑な問題やタスクに対応することができ、より自然な応答を生成することができます。</pre>



<p class="wp-block-paragraph">より詳細な転移学習の話や、大規模なテキストデータを使用してトレーニングがされていること、用途などより詳細な説明が追加されています。なお、「Regenerate response」をクリックしてみると少し異なった回答が得られます。</p>



<p class="wp-block-paragraph">このように、ChatGPTでは、よりよい回答を得ていくために質問を繰り返していくという使い方が基本です。ChatGPTではよりよい回答を得ていくための方法(作法)があるようですが、私もまだこの辺りは勉強中なので、また整理していきたいなと思っています。</p>



<h4 class="wp-block-heading jinr-heading d--bold">ChatGPTの回答が途中で止まってしまう場合の対処</h4>



<p class="wp-block-paragraph">ChatGPTは長い文章を生成する場合、途中の文章の中途半端な位置で止まってしまう場合があります。</p>



<p class="wp-block-paragraph">この場合はメッセージ欄に「<span class="marker"><strong>つづき</strong></span>」「<span class="marker"><strong>続き</strong></span>」「<span class="marker"><strong>go</strong></span>」といった言葉を入力すると続きの回答を再開してくれますので覚えておきましょう。</p>



<h2 class="wp-block-heading jinr-heading d--bold">まとめ</h2>



<p class="wp-block-paragraph">2023年に話題の<span class="marker"><strong>ChatGPT</strong></span>についてまとめました。ChatGPTとは？という概要の話や、無料アカウントの作成を含めたChatGPTの始め方・使い方について紹介しています。</p>



<p class="wp-block-paragraph">ChatGPTは、世の中を変える可能性を秘めた技術であるとすごく感じています。ChatGPTは、優秀な先生や秘書が自分についてくれるようなものと考えることができます。いかにChatGPTをうまく活用して、今後の自分の生活やビジネスに活かしていけるかが、今後成功する人と成功しない人の違いになるかもしれません。</p>



<p class="wp-block-paragraph">皆さんも是非まずは無料アカウントで触ってみるといったことをしてみてもらえるとよいかと思います。</p>


<section class="b--jinr-block b--jinr-blogcard d--blogcard-hover-up d--blogcard-style1 d--blogcard-mysite t--round "><div class="a--blogcard-label ef">あわせて読みたい</div><a class="o--blogcard-link t--round" href="https://tech.nkhn37.net/python-tech-summary-page/"><div class="c--blogcard-image"><img decoding="async" class="a--blogcard-img-src" width="128" height="72" src="https://tech.nkhn37.net/wp-content/uploads/2024/08/Python-Tech-Pythonプログラミングガイド_new1-640x360.jpg" alt="【Python Tech】プログラミングガイド" /></div><div class="a--blogcard-title d--bold">【Python Tech】プログラミングガイド</div></a></section>]]></content:encoded>
					
					<wfw:commentRss>https://tech.nkhn37.net/chatgpt-overview-usage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Disk: Enhanced  を使用したページ キャッシュ

Served from: tech.nkhn37.net @ 2026-07-04 09:32:36 by W3 Total Cache
-->