はてなキーワード: Fluxとは
んんwwww 増田氏、何やらX社のGrokやら画像生成AIの背景について詳しく語っておられるようですが、ちょっと待っていただきたいですぞwwww 拙者の見解を述べさせていただきますぞwwww
確かにGrokはテキストに特化した検索支援AIとして開発されているようで、その点については同意しますぞ。しかしながら、画像生成AIの領域については、Black Forest Labs社のFLUX.1を利用しているとはいえ、X社が完全に無関心であるとは言えませぬなww
また、増田氏が述べられているLAIONデータセットの件ですが、「著作権的にクリーンな」画像生成を目指す中で、技術的課題が存在することは確かです。しかしながら、LAIONがドイツの法律に基づき公開データで運用されていることや、ドイツ国内での勝訴もあり、運営は法にのっとっているという点も否定できないですぞwwww
GlazeやNightshadeに関しては、反AI運動の手段として注目されていますが、それがどれだけ実効的かについては議論があるようですなwwww しかし、その毒入れ(poisoning)の考え方が如何に強力であるかという点は、拙者も評価せざるを得ませんぞwww
増田氏、拙者の見解をお役立ていただき、いかなる分野においても多面的な視点での理解を目指して頂ければ幸甚ですぞwww あまり肝に銘じずともお気を悪くなさらず、拙者の考えを一つの参考としてご覧くださいですぞwww
そもそもの話、X社は画像生成AIなど作っていない。彼らがつくっているのは検索支援AI Grok。学習に使いたいのはテキストの方であって画像ではない。
わかりやすさのために ChatGPTと比較してみる。2023年にリリースされた GPT-4 に試しに今期のアニメについて質問してみよう。
今期最も人気のアニメはなんですか?
ChatGPT:
2024年の今期で人気のアニメはいくつかありますが、「進撃の巨人」や「呪術廻戦」が特に注目を集めています。また、新作では「東京リベンジャーズ」や「スパイファミリー」も話題です。どの作品に興味がありますか?
アニメに詳しい人ならちょっと古い話をしているのがわかるだろう。 GPT-4 が学習を行なったのは2023年までの情報だ。なので最新の話題に対応できないのである。
一方、Grok は Xの投稿をリアルタイムに検索して反映する。もし Grok で同じ質問をすればダンダダンやリゼロ、ブリーチ辺りの話をするはずだ。つまり、Xが収集したいのは「ダンダダンの7話泣かされたわ・・・」みたいな投稿のことであってイラストではない。
Grokには画像生成機能がついているが、これは自前の物ではなく Black Forest Labs社 の FLUX.1 というモデルである。X社が Xに投稿されたイラストを収集して学習させているわけではないのだ。それでは FLUX.1 の訓練に使ったのはどこの画像なのだろうか?データセットは明らかにされていないが十中八九使っていそうなのが LAION-5B である
現在大手の企業は「著作権的にクリーンな」画像生成AIをつくっているが実際には版権物が出てくることが知られている。なぜそんなことが起こるのだろうか?
このからくりは LAION のデータセットにある。LAIONはドイツにある非営利組織。ネット上のありとあらゆる画像を収集しタグをつけたデータセットを公開している。
A. LAIONは非営利の研究組織です。ドイツの著作権法(§60d UrhG)に従いあらゆる著作物の利用が許されています。
とあるようにドイツの法律上合法である。実際に訴えられた後LAION側が勝訴している。とはいえこの組織にはAI関連企業からの多額の寄付金があることが知られており、パチンコ3店方式のような意味合いでの合法とも言える。
尚、反AIさんと反々AIさんが著作権法第30条の4を巡って喧嘩をしていますが、世界では日本の法律は関係ないです。いちおう念の為。
他の絵師さんに Glaze を使うように詰め寄ったり、使わないやつはAIに加担していると攻撃したり。挙げ句の果てには「自分の絵にGrazeをかけました」と宣言したり。
もう、全てが間違っている
そもそも、Glaze も Nightshade もAI学習を阻害するものではない。学習したモデルをぶっ壊す毒なのである(poisoned って書いてあるでしょう?!)
相手に食わせなければ意味がないんだ。Glazeかけたとか自分で言うな。対策されるでしょう?(後述)
それと他の人に強要する意味はない。使いたい人が使えば十分なんだ。
事実すでに効果は上がっていてOpenAIは悲鳴をあげ対策を急いでいる。
反AIさんの考えるよりも Glaze/Nightshade はずっと強力だ。それはデータセットを汚染する攻撃である。簡単に言えば Nightshadeは「学習中に他の絵に変換されてしまう」ノイズをかける。この操作を毒入り(poisoned)と呼ぶ。ピクセル毎の微小な変更なので Nightshade をかけた後もイラストはぱっと見はかわらない。
Nightshadeを使って例えば 犬の画像を猫の画像になるノイズをかけたとする。するとAIは犬と猫が混ざったまま学習を進め「犬」と言う概念が無茶苦茶になってしまう。
図:毒入りモデルの変化 (arXiv:2310.13828から引用)
上の図は毒入りの画像を200枚食わせたときの変化の様子だ。犬が猫になってしまっている。それだけではなく”犬”に近い概念、”子犬”、”ハスキー”、”狼”もぐちゃぐちゃになっている。
図:毒入り枚数による変化 (同引用)
こちらは50、100、300、と毒入り枚数を変化させたときの様子。50枚の時点ですでにめちゃくちゃになっている。
もし私が反AIだったなら、イラストに Nightshadeをかけて danbooru に投稿するだろう。二次元イラスト特化の画像生成AIはdanbooru2021/ danbooru2022 などのデータセットを使っているものと見られる。これらはイラスト投稿サイトdanbooru から収集したものである。
ところで Glaze も Nightshade もその内部で画像生成AIを使っているということを知ったら反AIさんはどんな顔をするだろう?
Glaze は特徴量抽出を行う。おそらく Stable Diffusion の VAE(Variational Autoencoder)を使っている。そしてNightshade の方も 内部ではStable Diffusion 等の画像生成モデルを用いて別の画像を生成する。
Glaze が機能しない?あるいは解毒方法が見つかったかもしれない
上のスレッドのコメント欄では Glaze が論文のようには機能しないことについて議論され「画像のリサイズをしたのではないか」と予想している。Glazeをかけた後に画像を縮小、データが圧縮されてノイズ効果が消えたのではないかということだ。
A) 絵師さんが Glaze をかけたあと画像を縮小した可能性
B) 画像サイズやファイルタイプによってはプラットフォーム側が勝手に加工をする
C) 学習の際にリサイズを行う (Stable Difusion XL では1024px, 古いモデルは512px)
A,B については絵師さん側に知識があれば対処可能だけれども C の方はなんともし難い。小さい画像を投稿したところで [縮小→拡大] でノイズは落とせそうだ(解像度は悪くなるだろうが)
LAIONは収集画像そのものを所有せず、データセットはウェブ上にある画像のurlとタグをまとめた物であるらしい。
ということは、LAIONの新しいデータセットが公開されたタイミングで画像のurlを変更すれば学習に使われることを回避できそうだ。特に、個人サイト/ブログの所有者ならば古い url に●んこ画像でも差し替えておけば嫌がらせになる。(タグ差し替えはこのグラフの Simple Attak に相当)
90年代においては画像に直リンクされたときの報復としてうん●画像に差し替えたものです。まさか令和になっても有効とはね
この記事をぼちぼち書いているいるうちに2日が経過した。今、私のXのタイムラインもおすすめもとても静かだ。攻撃的な人たちやデマに流されやすい人達は皆どこかに行ってしまったようだ。残ったのはこれまで静かにイラストを描き続けてきた人たちでとても穏やかな空気が流れている。ずっとこのままがいい。
やっぱり画像のピクセルの場所を指定してアノテーションしないと解決しないんじゃないか?
WD 1.4 Taggerでも、指まで区別してタグ付けしてくれないので、出来るなら指それぞれ分けてタグ付けしてくれるのがあるとありがたいが・・・
話題の最新画像生成AI flux.1てのが、無料で試せるっていうので、またやってみた。
プロンプトは a zebra riding a big turtle swimming across the ocean with some birds でな
ついでに、DPZで見かけた「カツ丼のよろこびをミュシャ風に」てのも試したよw
a painting by Alphonse Mucha, smiling middle-aged long haired lady, holding a Katsu-don bowl in the left hand and a pair of chopsticks, flower ornaments on her head
In the year 3000, humanity had finally discovered the secrets of the multiverse. Using their most advanced technology, they had found a way to travel between different parallel universes, each with their own unique physical laws and structures.
As the first explorers set out on their journeys, they encountered a myriad of strange and wondrous worlds. Some universes were filled with infinite copies of themselves, while others were constantly shifting and changing, their physical laws in a state of constant flux.
As they traveled deeper into the multiverse, the explorers encountered universes that seemed to follow completely different sets of physical laws. In some, time flowed backwards, and cause and effect were reversed. In others, matter was made up of entirely different particles, and energy behaved in completely unexpected ways.
As the explorers continued to journey further, they began to encounter universes that seemed to be simulations, created by beings in higher dimensions. They encountered universes where the laws of physics were entirely mathematical, and others where the very fabric of reality was made up of pure information.
At last, the explorers came to a universe that seemed to encompass all of the many-worlds interpretations. In this universe, every possible outcome of every possible event was played out in infinite parallel realities. The explorers marveled at the incredible complexity and diversity of this universe, as they watched endless versions of themselves carrying out endless variations of their own adventures.
As they prepared to leave this universe and return home, the explorers realized that they had only scratched the surface of the multiverse. They knew that there were still countless more universes to explore, each with their own unique physical laws and structures.
And so, they set out once more, to journey deeper into the multiverse, and to discover the secrets of the infinite many-worlds that lay waiting to be explored.
As the explorers continued their journey, they encountered a universe where time did not exist, and another where the laws of physics were governed by emotion rather than math. In yet another universe, they discovered that consciousness itself was the fundamental building block of reality.
As they explored further, the explorers encountered universes where the laws of physics were not constants but varied across space and time. They found a universe where entropy decreased over time, and another where gravity was repulsive rather than attractive.
At the edge of the multiverse, the explorers discovered a universe that seemed to contain all of the other universes within it. This universe was infinite in size and contained infinite variations of itself, each one a slightly different version of the universe they knew.
As they traveled through this universe, the explorers encountered versions of themselves that had made different choices and lived different lives. Some of these versions were almost identical to their own, while others were wildly different, with entirely different personalities and goals.
At last, the explorers returned to their own universe, their minds reeling from the incredible sights and experiences they had witnessed. They knew that the multiverse was an endless sea of possibility, and that there were still countless more universes to explore.
As they shared their discoveries with the rest of humanity, they realized that the true nature of the multiverse was still a mystery. They knew that there were many theories and hypotheses, but no one could say for sure which one was right.
And so, the explorers continued their journey, driven by a hunger to uncover the secrets of the multiverse and to understand the true nature of reality itself.
sHU2uEFZltSiv44bZEskqqwLmJpwM58GVdcmntcEZlWl9f6C_xmyortYKIGA97okYRnsRxxxJv4wfGA3AqWspArs7I5fjadr2Z7VUu8CzfCvh3DjnzLo7aLe894M85CjNn_2jnSJVL3DKqyGcmKS9d62NzhiZpyxyUz_f1jB5QMDndMKOOq6uKEquFjFnpgsDnFyxBvGylDZZKIKz_uJadKb5PRse1S6Bbsfey7TqHjy2HCKAvxHksTzgB8AvEkMBCdZrTAHCXfC8CcMfXHtQSLffQvjOthbjfOO0xIwNgAYZ5peAgwcldWXV1d6b1MxM350Il4Fqf3Cz0wNFf3i2BUe6Gq8Lhmqn2cVTr80CIuzFohW2YPCUBg2Ed5E7KBTHkIsZN74INQYoMmyNRQ7kxoa6bmPR9vsA6EZbfgOF9JTIdhI46FAQMta_Rtnn4xiYqbBs8osmqhCDUjlwo_YylzSnbH4plzU1JjkosWtTtpYQcdTyNBV572VKLB6wzxSp5o877avuAlkym7H3nV9Wfxu6Wi4k37td2x2L4PsOwe_PcjfxPBbZfZV36D125rJGfnnRgzMHf8LCWlsPtuuPXyd5V6xZeS6zD_naTNhsvCxduG16z27HdUV01VWvaW3VJZaHb9ziXsteVdGkKo9EHlmnX3m_QnWfJyByeLQVbHP9afNNxgIKpb0fYYedjDiLr_ZafVm8TPSRYBthjAXGLyuZ8l5bRwc9lD7mYx0Y6B5qEMgvpZku5FWeo61Jr8AC5acJ5y8RtkNzPB_o20HR6wK8PduyUjv3H3q2JxsYBFil6vY5o2R5xFZOrf6WCUD17jtUjRm4k2DV_euUXGikdvLiVDSQcWiFzae7o9Liote5M3vT6Z66aI1Rju9Cd5B_WWO5ejwRTLO4qAjx3O_P8vtNSdS3YfOdKwmmeKdDJyfBxRJ7yyCU2tvlDbS7vfCOd_AWb4sFQNzfjU1Nn7iHdo5vrzYTeh7XLbDkw1GuI8DJUOU31i06NpX9pxpVv7t
どんなに優れたツールや設計思想などがあっても、使う奴がダメだと全く無意味。弊社もWebアプリを作ってて、RESTだのFluxアーキテクチャだのいろいろ導入を試みたが、ほとんど無駄に終わった。
どんなクソ組織でも効果があると確信持って言えるのは上の3つだけ。1つ目は初歩的すぎると思われるかも知れないが、筆者の想定するダメな組織・ダメなプログラマというのは、このレベルの連中を含む。
静的型付け言語(サーバーサイドならJavaやC#、フロントエンドならTypeScript)を使わせれば、少なくともコンパイル時に分かるエラーは修正させられる。
というか、ダメなプログラマに動的型付けの言語は触らせてはいけない。必ずそのプロジェクトは半年後には保守できなくなる。
テストは強制的に書かせるし、テストのないクラスや、通らないテストあったらコミットできないようにする(それは容易にできる)。
もう一つの方法は、そもそも優秀なエンジニアしか参加できないようにすること。たとえば、Scala、Haskell、Erlang、Common Lispなどで書かれていれば必然的にそれが分かるエンジニアしか開発できないし、こういう言語を自主的に学習しているエンジニアは優秀である可能性が高い。
Reactクソって言い続けて来たけど、新規顧客からReactじゃないとやらんとか言われて失注したので今更ながらやってみた。
1週間使ったけど、良いねこれ。VueJSでReactiveなフロントエンド開発はやったので意外とすんなり理解できた。
これを機に自分のFrontendのスキルセットを、ES6、Webpack、Flux、React-Route、Reactに刷新した。
今までは、Gulp、VueJS、Browserify、BackboneJS、jQuery。。2014年位のスタンダードだよなぁ。
勉強が不得意な職業プログラマですが、WindowsアプリをSPAに作り替えることになりそう。
プロジェクトメンバーに積極的に技術を習得するような人はいないので、簡単なフレームワークを探しています。
↑に近いようなフレームワークありませんか?
A | - | cross sectional area | 断面積 |
C | - | celerity or phase velocity of waves | 波の速さか位相速度 |
C_d | - | drag coefficient | 抗力係数 |
C_s | - | concentration on the seagrass surface | 海中植物の 表面への集中 |
C_w | - | concentration in the water column | 水柱における集中 |
D | - | molecular diffusivity | 分子拡散率 |
D | - | depth | 水深 |
DBL | - | diffusive boundary layer | 拡散境界層 |
δ | - | diffusive boundary layer thickness | 〃 の厚さ |
δ_D | - | diffusive boundary layer (==DBL) | |
δ_l | - | inertial sublayer or logarithmic (log) layer | 内部境界層かログ層 |
δ_v | - | viscous sublayer | 粘性底層 |
F_d | - | friction or viscous drag | 摩擦か粘性抵抗 |
F_p | - | form or pressure drag | 圧力抗力か形状抵抗 |
g | - | acceleration due to gravity | 重力加速度 |
H | - | water depth | 水深 |
H | - | wave height | 波高 |
h | - | canopy height | 林冠の高さ |
J | - | flux | フラックス |
κ | - | von Karman constant | カルマン定数 |
l | - | length scale | 長さスケール |
λ | - | wavelength | 波長 |
m | - | mass | 質量 |
μ | - | molecular or dynamic viscosity | 動粘性係数か分子粘性 |
p | - | hydrostatic or dynamic pressure | 静水圧か動圧 |
Q | - | volume flow rate | 体積流量率 |
ρ | - | density | 密度 |
REI | - | relative wave exposure index | 相対波露出度 |
Re | - | Reynolds number | レイノルズ数 |
Re_crit | - | critical Reynolds number | 臨界レイノルズ数 |
St | - | Stanton number | スタントン数 |
T | - | wave period | 波の周期 |
τ | - | shear stress | 剪断応力 |
τ_o | - | boundary shear stress | 境界剪断応力 |
τ_w | - | wall shear stress | 壁剪断応力 |
μ | - | current velocity | 流速 |
μ* | - | friction velocity | 摩擦速度 |
U_k | - | critical velocity | 臨界速度 |
U_o | - | free stream velocity | 自由流速度 |
ν | - | kinematic viscosity | 動粘性率 |
x | - | horizontal distance | 水平距離 |
χ | - | principal flow direction | 主要流向 |
y | - | cross-stream direction | 交差流の方向 |
z | - | vertical direction or depth | 縦方向か水深 |
z_o | - | roughness height | 荒さの高さ |