3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Jevは学習なしに使えるカテゴリ分類器だ!ということでMNISTやらせてみたらダメダメだった件

3
Last updated at Posted at 2026-09-20

はじめに

Jevが汎用のゼロショット分類器みたいなものだとわかり、分類器といえばMNISTでしょう、ということでMNISTやらせてみたら全然精度が出なかった、というお話です。

MNISTのtestデータから各数字10枚ずつ、計100枚をseed=42で抽出し、全条件で同じ画像を使用しました。追加学習・例示なしの探索的比較で、MNIST全体やモデルの一般的な性能を示すものではありません。

やってみたこと

マリオができる!テトリスができる!ということで、みなさんが画像をASCIIアートみたいにしてJevに送り込んでいたので、マネしてMNISTをやらせてみました。

①JevにASCIIで送り込んでみる

実際に100枚をランダムに抽出して2値化して渡してみたところ、なんと正解率は38%しか出ませんでした。そのため、渡し方を変えていろいろやってみました。

元画像

MNISTのオリジナル画像の1枚です。28×28ピクセルで、8-bitのグレースケールです。これを認識させようとしました。

二値化ASCII

最初に渡したのはこんな感じです。

............................
............................
............................
.................##.........
................#####.......
...............#######......
..............####..##......
.............####...##......
..............#....###......
...................###......
...................###......
..................###.......
..................###.......
.................###........
................####........
.......############.........
.....#############..........
.....###....#####...........
....###...#######...........
....#########..###..........
....#######.....####........
......#.........####........
.................###........
............................
............................
............................
............................
............................

数値行列

精度が悪かったので、今度は元データをそのまま渡してみることに。

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,206,247,94,3,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,203,254,254,254,206,34,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,221,254,254,253,251,254,169,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,20,234,254,254,194,78,117,254,225,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,136,254,252,143,15,0,86,254,225,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,13,130,66,0,0,0,128,254,225,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,232,254,225,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,254,254,169,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,254,247,47,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,242,254,197,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,206,254,232,42,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,23,84,98,29,0,16,172,254,251,143,0,0,0,0,0,0,0,0
0,0,0,0,0,1,38,156,198,198,231,254,254,240,149,200,254,254,157,0,0,0,0,0,0,0,0,0
0,0,0,0,0,135,254,254,254,254,254,254,254,254,254,254,254,159,16,0,0,0,0,0,0,0,0,0
0,0,0,0,88,250,254,175,71,18,18,62,254,255,254,254,254,25,0,0,0,0,0,0,0,0,0,0
0,0,0,0,209,254,178,28,9,51,134,230,254,254,254,254,254,103,0,0,0,0,0,0,0,0,0,0
0,0,0,0,226,254,204,179,212,254,254,254,222,110,89,235,254,240,65,0,0,0,0,0,0,0,0,0
0,0,0,0,149,254,254,254,254,235,176,93,6,0,0,122,254,254,208,151,27,0,0,0,0,0,0,0
0,0,0,0,6,76,131,114,37,25,0,0,0,0,0,2,171,254,254,244,57,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,205,254,133,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

濃淡10段階

それでもダメだったので、10段階のグレースケールを文字にしてみることに。

                            
                            
                            
                 %@-        
               .#@@@%.      
              :%@@@@@*      
              @@@#-=@%      
             +@@+  -@%      
              +:   +@%      
                   @@%      
                  =@@*      
                  *@@.      
                 :@@#       
                 %@@.       
           --.  *@@+        
      .*##@@@@+#@@*         
     +@@@@@@@@@@@*          
    -@@*:  :@@@@@           
    %@*. .+%@@@@@=          
    %@#*%@@@%=-@@@:         
    +@@@@@*-   =@@%+.       
     :+=.       *@@@:       
                 %@+        
                            
                            
                            
                            
                            

数値・3桁幅

もしかしたら、視覚的に見やすい方がいいのかも!と思ってこんなものも。

  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,206,247, 94,  3,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 34,203,254,254,254,206, 34,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 58,221,254,254,253,251,254,169,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,234,254,254,194, 78,117,254,225,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,136,254,252,143, 15,  0, 86,254,225,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,130, 66,  0,  0,  0,128,254,225,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 14,232,254,225,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,111,254,254,169,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,158,254,247, 47,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 71,242,254,197,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,206,254,232, 42,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 23, 84, 98, 29,  0, 16,172,254,251,143,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  1, 38,156,198,198,231,254,254,240,149,200,254,254,157,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,135,254,254,254,254,254,254,254,254,254,254,254,159, 16,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0, 88,250,254,175, 71, 18, 18, 62,254,255,254,254,254, 25,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,209,254,178, 28,  9, 51,134,230,254,254,254,254,254,103,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,226,254,204,179,212,254,254,254,222,110, 89,235,254,240, 65,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,149,254,254,254,254,235,176, 93,  6,  0,  0,122,254,254,208,151, 27,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  6, 76,131,114, 37, 25,  0,  0,  0,  0,  0,  2,171,254,254,244, 57,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,205,254,133,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0

座標配列

シンプルに白(画素の値が128以上)のピクセルの座標だけ送ったらどうだろう?と試してみたもの。

{"width":28,"height":28,"foreground_pixels":[[17,3],[18,3],[16,4],[17,4],[18,4],[19,4],[20,4],[15,5],[16,5],[17,5],[18,5],[19,5],[20,5],[21,5],[14,6],[15,6],[16,6],[17,6],[20,6],[21,6],[13,7],[14,7],[15,7],[16,7],[20,7],[21,7],[14,8],[19,8],[20,8],[21,8],[19,9],[20,9],[21,9],[19,10],[20,10],[21,10],[18,11],[19,11],[20,11],[18,12],[19,12],[20,12],[17,13],[18,13],[19,13],[16,14],[17,14],[18,14],[19,14],[7,15],[8,15],[9,15],[10,15],[11,15],[12,15],[13,15],[14,15],[15,15],[16,15],[17,15],[18,15],[5,16],[6,16],[7,16],[8,16],[9,16],[10,16],[11,16],[12,16],[13,16],[14,16],[15,16],[16,16],[17,16],[5,17],[6,17],[7,17],[12,17],[13,17],[14,17],[15,17],[16,17],[4,18],[5,18],[6,18],[10,18],[11,18],[12,18],[13,18],[14,18],[15,18],[16,18],[4,19],[5,19],[6,19],[7,19],[8,19],[9,19],[10,19],[11,19],[12,19],[15,19],[16,19],[17,19],[4,20],[5,20],[6,20],[7,20],[8,20],[9,20],[10,20],[16,20],[17,20],[18,20],[19,20],[6,21],[16,21],[17,21],[18,21],[19,21],[17,22],[18,22],[19,22]]}

結果

全然ダメでした……

image.png

ここで気づきました。もしかして、画像をテキスト化して解釈させるとか、普通のLLMでも苦手なタスクなのでは?

ということで、ここからはLLMとの比較です。

②LLMとの比較

GPT-5 nano、GPT-5.6 Lunaと比較してみました。最初、GPT-5 nanoを推論指定minimalで試したら精度が悪すぎて、lowにしてもあまり改善しなかったので、GPT-5.6 Lunaを追加した流れです。

image.png

精度がでないですね。画像をテキスト化して解釈させるのはやはり無理がありそうです。

③LLMの画像入力との比較

今さらですが本来は画像入力を使うべきタスクなので、GPT-5.6 Lunaの画像入力とも比較しました。

image.png

当然ながら精度は格段にいいです。また、今回の実測ではJevよりコストが下がった点も注目です。処理時間は残念ながら倍くらいになってしまいますが、それでも意外に高速に処理できて驚きました。

ただ、精度がよいといっても今回の条件では80%とかなり低いです。実用するにはいろいろ工夫が必要になりそうです。

おわりに

画像をテキスト入力onlyのモデルに処理させるというのは、ちょっと無理があるようですね。本来のJevの話からは脱線してしまったお話にお付き合いいただき、ありがとうございました。

結果の詳細はこちらで公開しています。

誤りなどありましたら、お知らせいただけると嬉しいです。

参考情報

(おまけ)

分類器に見事にひっかかってしまいました……

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?