Discuss Scratch

rino_Gaming
Scratcher
13 posts

人工知能を作るには…?

U-Y-Scratch wrote:

16進数にするとかで解決するカモ
scratchは恐らくunicodeなので、普通に000000~fffffまでに割り当てるのが一番いいんですが、それだと化け文字とか存在しない文字が大量に出てしまうので、base64とかを使って圧縮して、それを “1つの変数” 内に保存するのが一番です。
まあそれ使ってもできなさそうなんですけどね、、、
rino_Gaming
Scratcher
13 posts

人工知能を作るには…?

ちなみに昔海外のプロジェクトで、英語のみのAIを見たことがあります。挙動を見ると、やっぱり圧縮されていたデータを展開していたようでした。(当時は中まで見ていなかったのでわかりませんが、、、)
U-Y-Scratch
Scratcher
500+ posts

人工知能を作るには…?

rino_Gaming wrote:

U-Y-Scratch wrote:

16進数にするとかで解決するカモ
scratchは恐らくunicodeなので、普通に000000~fffffまでに割り当てるのが一番いいんですが、それだと化け文字とか存在しない文字が大量に出てしまうので、base64とかを使って圧縮して、それを “1つの変数” 内に保存するのが一番です。
まあそれ使ってもできなさそうなんですけどね、、、
あ゛あ゛あ゛あ゛よ゛く゛分゛か゛ん゛な゛い゛ぃ゛ぃ゛ぃ゛
rino_Gaming
Scratcher
13 posts

人工知能を作るには…?

U-Y-Scratch wrote:

rino_Gaming wrote:

U-Y-Scratch wrote:

16進数にするとかで解決するカモ
scratchは恐らくunicodeなので、普通に000000~fffffまでに割り当てるのが一番いいんですが、それだと化け文字とか存在しない文字が大量に出てしまうので、base64とかを使って圧縮して、それを “1つの変数” 内に保存するのが一番です。
まあそれ使ってもできなさそうなんですけどね、、、
あ゛あ゛あ゛あ゛よ゛く゛分゛か゛ん゛な゛い゛ぃ゛ぃ゛ぃ゛
今パソコンで打ってる文字は、コンピューターにすべて覚えさせるのは面倒なので、文字コードを割り当てています。(たとえばA=41)
このAという文字は2桁で済みましたが、  あ=3042  というように、複雑な文字だと桁が増えてしまいます。
なので、

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ

これらの文字を使用すると、化け文字にならずに最も効率的にデータを保存できるというわけです。

要はデータ量が少ない文字に変換しようぜ!っていうことです。

ちなみに一つの変数に保存するっていうことも重要です。
内部ファイルでは、5文字とリスト5個ではデータ量にそこそこの差があるので、、、(プログラムを実行するときはリストのほうがいいです)

Last edited by rino_Gaming (Aug. 17, 2025 13:06:05)

U-Y-Scratch
Scratcher
500+ posts

人工知能を作るには…?

長い文字列を1文字の記号(?)にしてデータを減らすと言うことですか?
rice-people
Scratcher
10 posts

人工知能を作るには…?

U-Y-Scratch wrote:

長い文字列を1文字の記号(?)にしてデータを減らすと言うことですか?
長い文字列からそれぞれの文字を↓↓↓に置き換えて、一文字あたりのデータ量を少なくしようということです。

rino_Gaming wrote:

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
文字コードといって、コンピュータでは全ての文字に数字が割り当てられています。1文字あたりのデータ量とは、その数字の桁数のことです。漢字やひらがなを含め、世界には数えきれないほどの文字が存在します。なので全ての文字を少ない桁数で割り当てることはできません。そんな文字の中で、一文字あたりのデータ量が少ない、つまり少ない桁数で置き換えられる文字というのが、↑↑↑の文字です。漢字やひらがななどの文字をこのような文字に置き換えることで、プロジェクトの動作が軽くなることができます。
rino_Gaming
Scratcher
13 posts

人工知能を作るには…?

データ量の多い文字をデータ量の少ない文字に変換するという事です。文字数は多くなりますが、文字一つ一つのデータが圧倒的に少なくなるため、(特に数字などを大量に保存している場合)はかなりデータを圧縮することができます。
それと、

rice-people wrote:

漢字やひらがななどの文字をこのような文字に置き換えることで、プロジェクトの動作が軽くなることができます。
少し細かく言いすぎかもですが、圧縮したデータの読み込みは高速になりますが、そこから元のデータに戻す処理をしなければいけないため、全体的なブロック数やプロジェクトを使い始めるまでにかかる時間は長くなります。
kouryou118103
Scratcher
1000+ posts

人工知能を作るには…?

容量面だったら、データを画像に変換して読み込むことで限界突破できる気がします。あと、1Byte文字は95文字しかないわけで(フォントが無いのを含めたら256文字?)、結局扱う文字が95文字を超えたら2Byteになっちゃうのであんまり変わらないのかなって感じです。
rice-people
Scratcher
10 posts

人工知能を作るには…?

先ほど数字を1Byte文字全体に変換するプログラムを作ってみましたが、大文字と小文字の区別がつかなくて無理でした。
その問題を乗り越えるために、大文字小文字を区別する作品を無断で借りましたが、プログラムやコスチュームが多くて軽量化の意味がないと感じました
これについてどう思いますか?
finalbacon
Scratcher
100+ posts

人工知能を作るには…?

#350
スクラッチウィキの大文字小文字の判別という記事に、いくつか大文字小文字判別プログラムが載っています。
【53個のコスチュームを使う方法】は、もし〜ならが4回あるだけ(例外を気にしなければ2回)ですから動作は充分早い気がしてます。
たしかにコスチュームは53個必要になりますが、コスチュームは作品の読み込み時間にほんの少し影響するだけなのであまり関係ないかと。
rice-people
Scratcher
10 posts

人工知能を作るには…?

1A291109A6
Scratcher
1 post

人工知能を作るには…?

画像生成についてはSCRATCHでも可能です。(ただし、Stable Diffusionのような高品質、プロンプト入力、多様な画像生成は困難)
実際にSCRATCHでキャラクターの顔を生成できるVAE画像生成モデルを作りました。
https://scratch.mit.edu/projects/1218465478/

しかし、言語モデルは厳しいでしょう。
まず、SCRATCHで保存できるパラメータ数ですが、おそらく頑張っても2~5M程度が限界です。
データ圧縮をすればさらに増やせるかもしれませんがパラメータ数的に現存のモデルではかなり難しそうです。
速度的にも厳しいです。CPUしか使えない、並列処理ができない、高度な最適化ができない等
マルコフ連鎖の情報を参照する言語モデルを作ればパラメータ数を減らせるかもと思ったりしましたが、実現可能かわかりません。

逆に2~5M以内のモデル(画像認識、分類等)なら低速でも実現可能だと思います。
yuito2013
Scratcher
500+ posts

人工知能を作るには…?

リミックスしてまだ挨拶だけだけどAI #7FREND(ver.01.1β)というAIを作ってみた!どんどん増やしてく予定!

Last edited by yuito2013 (Oct. 8, 2025 03:03:28)

1233458
Scratcher
20 posts

人工知能を作るには…?

逆翻訳を使えばいいんじゃないすかね?こうすれば少し言葉のずれがあってもある程度特定できますよ
1233458
Scratcher
20 posts

人工知能を作るには…?

1233458 wrote:

逆翻訳を使えばいいんじゃないすかね?こうすれば少し言葉のずれがあってもある程度特定できますよ
対話型AIの話です。
yuito2013
Scratcher
500+ posts

人工知能を作るには…?

逆翻訳ってことは日本語まで戻すってことですか?まあ確かに楽そうちなみに作品名が自分の下手くそ英語のせいで間違ってた
yuito2013
Scratcher
500+ posts

人工知能を作るには…?

AI?の顔に動かす拡張機能のとかの利用規約ってありますか?リミックスしてまだ挨拶だけだけどAI #7FRIEND(ver.ver02.1(β))というAIを作ってみた!どんどん増やしてく予定!
-y13-
Scratcher
11 posts

人工知能を作るには…?

関係ないかもだけど一応
https://scratch.mit.edu/projects/1232002981/

Powered by DjangoBB