#!if 넘어옴1 != null
''''''{{{#!if 넘어옴2 == null
{{{#!if 넘어옴1[넘어옴1.length - 1] >= 0xAC00 && 넘어옴1[넘어옴1.length - 1] <= 0xD7A3
{{{#!if ((넘어옴1[넘어옴1.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴1[넘어옴1.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴1[넘어옴1.length - 1] < 0xAC00 || 넘어옴1[넘어옴1.length - 1] > 0xD7A3
은(는)}}}}}}{{{#!if 넘어옴2 != null
, ''''''{{{#!if 넘어옴3 == null
{{{#!if 넘어옴2[넘어옴2.length - 1] >= 0xAC00 && 넘어옴2[넘어옴2.length - 1] <= 0xD7A3
{{{#!if ((넘어옴2[넘어옴2.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴2[넘어옴2.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴2[넘어옴2.length - 1] < 0xAC00 || 넘어옴2[넘어옴2.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴3 != null
, ''''''{{{#!if 넘어옴4 == null
{{{#!if 넘어옴3[넘어옴3.length - 1] >= 0xAC00 && 넘어옴3[넘어옴3.length - 1] <= 0xD7A3
{{{#!if ((넘어옴3[넘어옴3.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴3[넘어옴3.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴3[넘어옴3.length - 1] < 0xAC00 || 넘어옴3[넘어옴3.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴4 != null
, ''''''{{{#!if 넘어옴5 == null
{{{#!if 넘어옴4[넘어옴4.length - 1] >= 0xAC00 && 넘어옴4[넘어옴4.length - 1] <= 0xD7A3
{{{#!if ((넘어옴4[넘어옴4.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴4[넘어옴4.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴4[넘어옴4.length - 1] < 0xAC00 || 넘어옴4[넘어옴4.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴5 != null
, ''''''{{{#!if 넘어옴6 == null
{{{#!if 넘어옴5[넘어옴5.length - 1] >= 0xAC00 && 넘어옴5[넘어옴5.length - 1] <= 0xD7A3
{{{#!if ((넘어옴5[넘어옴5.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴5[넘어옴5.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴5[넘어옴5.length - 1] < 0xAC00 || 넘어옴5[넘어옴5.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴6 != null
, ''''''{{{#!if 넘어옴7 == null
{{{#!if 넘어옴6[넘어옴6.length - 1] >= 0xAC00 && 넘어옴6[넘어옴6.length - 1] <= 0xD7A3
{{{#!if ((넘어옴6[넘어옴6.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴6[넘어옴6.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴6[넘어옴6.length - 1] < 0xAC00 || 넘어옴6[넘어옴6.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴7 != null
, ''''''{{{#!if 넘어옴8 == null
{{{#!if 넘어옴7[넘어옴7.length - 1] >= 0xAC00 && 넘어옴7[넘어옴7.length - 1] <= 0xD7A3
{{{#!if ((넘어옴7[넘어옴7.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴7[넘어옴7.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴7[넘어옴7.length - 1] < 0xAC00 || 넘어옴7[넘어옴7.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴8 != null
, ''''''{{{#!if 넘어옴9 == null
{{{#!if 넘어옴8[넘어옴8.length - 1] >= 0xAC00 && 넘어옴8[넘어옴8.length - 1] <= 0xD7A3
{{{#!if ((넘어옴8[넘어옴8.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴8[넘어옴8.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴8[넘어옴8.length - 1] < 0xAC00 || 넘어옴8[넘어옴8.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴9 != null
, ''''''{{{#!if 넘어옴10 == null
{{{#!if 넘어옴9[넘어옴9.length - 1] >= 0xAC00 && 넘어옴9[넘어옴9.length - 1] <= 0xD7A3
{{{#!if ((넘어옴9[넘어옴9.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴9[넘어옴9.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴9[넘어옴9.length - 1] < 0xAC00 || 넘어옴9[넘어옴9.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴10 != null
, ''''''{{{#!if 넘어옴10[넘어옴10.length - 1] >= 0xAC00 && 넘어옴10[넘어옴10.length - 1] <= 0xD7A3
{{{#!if ((넘어옴10[넘어옴10.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴10[넘어옴10.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴10[넘어옴10.length - 1] < 0xAC00 || 넘어옴10[넘어옴10.length - 1] > 0xD7A3
은(는)}}}}}} 여기로 연결됩니다. #!if 설명 == null && 리스트 == null
{{{#!if 설명1 == null
다른 뜻에 대한 내용은 아래 문서를}}}{{{#!if 설명1 != null
{{{#!html 도넛}}}에 대한 내용은 [[도넛]] 문서{{{#!if (문단1 == null) == (앵커1 == null)
를}}}{{{#!if 문단1 != null & 앵커1 == null
의 [[도넛#s-|]]번 문단을}}}{{{#!if 문단1 == null & 앵커1 != null
의 [[도넛#|]] 부분을}}}}}}{{{#!if 설명2 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단2 == null) == (앵커2 == null)
를}}}{{{#!if 문단2 != null & 앵커2 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단2 == null & 앵커2 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명3 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단3 == null) == (앵커3 == null)
를}}}{{{#!if 문단3 != null & 앵커3 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단3 == null & 앵커3 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명4 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단4 == null) == (앵커4 == null)
를}}}{{{#!if 문단4 != null & 앵커4 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단4 == null & 앵커4 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명5 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단5 == null) == (앵커5 == null)
를}}}{{{#!if 문단5 != null & 앵커5 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단5 == null & 앵커5 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명6 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단6 == null) == (앵커6 == null)
를}}}{{{#!if 문단6 != null & 앵커6 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단6 == null & 앵커6 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명7 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단7 == null) == (앵커7 == null)
를}}}{{{#!if 문단7 != null & 앵커7 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단7 == null & 앵커7 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명8 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단8 == null) == (앵커8 == null)
를}}}{{{#!if 문단8 != null & 앵커8 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단8 == null & 앵커8 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명9 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단9 == null) == (앵커9 == null)
를}}}{{{#!if 문단9 != null & 앵커9 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단9 == null & 앵커9 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명10 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단10 == null) == (앵커10 == null)
를}}}{{{#!if 문단10 != null & 앵커10 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단10 == null & 앵커10 != null
의 [[#|]] 부분을}}}}}}#!if 설명 == null
{{{#!if 리스트 != null
다른 뜻에 대한 내용은 아래 문서를}}} 참고하십시오.#!if 리스트 != null
{{{#!if 문서명1 != null
* {{{#!if 설명1 != null
도넛: }}}[[도넛]] {{{#!if 문단1 != null & 앵커1 == null
문서의 [[도넛#s-|]]번 문단}}}{{{#!if 문단1 == null & 앵커1 != null
문서의 [[도넛#|]] 부분}}}}}}{{{#!if 문서명2 != null
* {{{#!if 설명2 != null
: }}}[[]] {{{#!if 문단2 != null & 앵커2 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단2 == null & 앵커2 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명3 != null
* {{{#!if 설명3 != null
: }}}[[]] {{{#!if 문단3 != null & 앵커3 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단3 == null & 앵커3 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명4 != null
* {{{#!if 설명4 != null
: }}}[[]] {{{#!if 문단4 != null & 앵커4 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단4 == null & 앵커4 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명5 != null
* {{{#!if 설명5 != null
: }}}[[]] {{{#!if 문단5 != null & 앵커5 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단5 == null & 앵커5 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명6 != null
* {{{#!if 설명6 != null
: }}}[[]] {{{#!if 문단6 != null & 앵커6 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단6 == null & 앵커6 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명7 != null
* {{{#!if 설명7 != null
: }}}[[]] {{{#!if 문단7 != null & 앵커7 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단7 == null & 앵커7 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명8 != null
* {{{#!if 설명8 != null
: }}}[[]] {{{#!if 문단8 != null & 앵커8 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단8 == null & 앵커8 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명9 != null
* {{{#!if 설명9 != null
: }}}[[]] {{{#!if 문단9 != null & 앵커9 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단9 == null & 앵커9 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명10 != null
* {{{#!if 설명10 != null
: }}}[[]] {{{#!if 문단10 != null & 앵커10 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단10 == null & 앵커10 != null
문서의 [[#|]] 부분}}}}}}| 🎨 그림 인공지능 | ||
| {{{#!wiki style="margin:0 -10px -5px; min-height:calc(1.5em + 5px)" {{{#!folding [ 펼치기ㆍ접기 ] {{{#!wiki style="margin:-5px -1px -11px; word-break:keep-all" | 생성형 인공지능 | DALL·E · Firefly · FLUX · Gaugan2 · gpt-image · Grok Imagine · Imagen · Midjourney · 나노 바나나 · NAI Diffusion · Qwen-Image · Samsung Gauss Image · Seedream · Stable Diffusion · Z-Image |
| 학습 방해 프로그램 | Glaze (Nightshade) · Mist |
| <colbgcolor=#A562FF><colcolor=white> Glaze | |
| | |
| 개발 | 시카고 대학교 Glaze 개발팀 |
| 용도 | 그림 인공지능의 무단 학습 방지 |
| 플랫폼 | Windows, macOS |
| 최신 버전 | Glaze 2.1 Nightshade 1.0.2 |
| | |
1. 개요
미국의 시카고 대학교 연구팀이 개발한, 이미지 생성형 AI 학습으로부터 작품을 보호할 수 있는 프로그램.[1] 대학 교수진과 학생들, 그리고 다수의 아티스트들이 개발에 참여하고 있다. 기본적으로 연구 목적으로 제작되었기에 전면 무료이며 누구나 이용할 수 있다.2. 작동 원리
작품 데이터 위에 사람의 눈에는 거의 보이지 않는 수준의 특수한 노이즈를 추가한다. 이를 통해 그 노이즈가 적용된 작품이 이미지 생성 AI의 학습에 활용될 때 AI 쪽에선 원래의 작품과 다른 외관을 가진 것으로 잘못 인식하여 아티스트의 고유 스타일 등의 모방을 방지할 수 있도록 하는 원리이다.
3. 사용 방법
현재 두 가지 방법으로 Glaze를 이용할 수 있다. 프로그램 파일을 다운로드해서 자신의 PC에서 작동시킬 수 있고, 시카고 대학교 서버의 WebGlaze를 통해 이용할 수도 있다.3.1. PC
| PC 버전 Glaze의 모습 |
공식 사이트에서 받을 수 있는 버전. Windows와 macOS에서 사용할 수 있다. 자신의 컴퓨터의 그래픽 카드 성능이 좋지 않은 편이라면 WebGlaze를 권장한다.
3.2. WebGlaze
Glaze 공식 사이트의 'WebGlaze' 설명 페이지 참고2023년 8월 2일 서비스 개시. 컴퓨터의 GPU 성능이 너무 모자라거나, GPU가 없거나, 아예 컴퓨터가 없는(태블릿 컴퓨터, 스마트폰 등으로 작업하는) 작업자들은 Glaze를 이용하기 어렵다는 문제점을 반영하여 생긴 서비스이다. AI를 쓰지 않는 인간 예술가만, 초대를 통해서만 이용할 수 있도록 제한된다.
3.2.1. 신청 방법
초대 받는 방법은 아래와 같다.1. X(트위터)의 Glaze 공식 계정에 다이렉트 메일(DM)을 보낸다.
2. Glaze 공식 인스타그램에 메시지를 보낸다.
3. Glaze 연구팀에 직접 메일을 보낸다.[2]
해외에서 운영하고 있는 서비스이기에 기본적으로 영어로 DM을 보내는게 정석이다.[3] 다만 개발팀 측은 생성 AI 사용자의 서비스 이용은 자제해 달라는 방침을 세웠기 때문에 인간 아티스트임을 증명하는 것이 필요하다. 따라서 DM으로 신청할 때는 DM내에 자신의 작품을 게시 하거나 작품을 게시하고 있는 SNS계정 주소나 사이트도 함께 보내는 것이 좋다. 또한 개발팀 측은 제작 과정을 기록한 타임랩스 동영상도 있으면 심사가 더 수월하다고 밝혔다. 요청이 받아 들여지면 초대 링크가 회신되어 Web Glaze 공식 사이트에 접속할 수 있다.
3.2.2. 계정 등록 방법
사이트에 들어가면 우선 계정 등록 화면이 나온다.사용자 이름(User name)[4], 이름(First name), 이름(Last name), 이메일 주소(Email), 비밀번호(Passward)가 있다. 비밀번호는 8자 이상 입력한다. 그리고 개인정보와 유사하거나 자주 사용되거나 또는 숫자로만 이루어진 비밀번호는 입력하면 안된다.
입력이 완료되면 페이지 맨 아래의 제출(Submit) 버튼을 클릭한다.
3.2.3. 이용 방법
등록이 완료되면 공식 사이트 내 별도 페이지로 넘어간다.여기서 처음으로 Web Glaze를 사용할 수 있게 된다.Glaze로 가공된 그림을 보내 주었으면 하는 메일 주소(Email)를 입력해, Glaze를 걸고 싶은 그림파일을 선택(Image)해 업로드한다.
4. Nightshade
2024년 1월 19일에 추가된 프로그램으로, 이미지를 보호하는 역할을 하는 Glaze와 달리 Diffusion 모델을 오염시키는 방식을 가지고 있다. Glaze는 방패, Nightshade는 창인 셈.향후 Nightshade와 Glaze를 하나로 통합하는 프로젝트를 진행 중이라고 한다.
5. 한계점
Glaze와 Nightshade는 기본적으로 디퓨전 모델에 대해서만 효과적인 방어 및 공격 수단이다. 그러나 Glaze는 이미 관련 스타일 학습이 이루어진 베이스 모델에 추가 학습을 시켜도 그 효과가 없거나 미미한 수준에 그치며, Nightshade도 마찬가지로 이미 학습된 모델에 오염된 이미지로 파인튜닝을 시도하더라도 효과가 미비하거나 없다. 게다가 모델 학습 시 깔끔한 데이터가 많아질수록 오염 데이터를 더욱 많이 필요로 하게 된다.결정적으로, 이 방식들은 디퓨전 모델에 특화된 방식이기 때문에 구조가 다른 '오토리그레시브(Autoregressive)' 방식의 모델에는 적용하기 어려울 수 있다는 한계점이 있다. 대표적인 오토리그레시브 모델로는 Google의 나노 바나나, OpenAI의 ChatGPT Image, xAI의 Grok Imagine이 있다.
또한, Glaze와 Nightshade를 사용하면 Image to Image와 같은 유사한 이미지 구도를 생성하는 작업도 방어할 수 있다고 생각하기 쉽지만 그렇지 않다. 실제로 이 방식들은 모델의 학습 단계에서만 효과를 발휘한다. 즉, 단순히 이미지를 기반으로 새로운 이미지를 만드는 Image to Image 작업에 대해서는 일관된 보호를 제공하지 못한다.
6. 관련 문서
- emamori: 일본의 SnackTime 주식회사가 구독제로 서비스했던 일러스트 무단 학습 방해 서비스를 제공하는 웹사이트. 지금은 서비스를 종료했다.
[1] 그림 생성형 AI의 무단 학습은 현재까지도 저작권 문제와 작가에 대한 사이버 불링 등 많은 논란과 피해 사례를 낳고 있다.(그림 인공지능/논란 및 사건 사고 참조.)[2] Glaze 공식 사이트 상단 메뉴의 'Feedback(피드백)' 아래에 있는 'Email Us'에서 메일을 보내 초대 요청을 할 수 있다. 다만 이메일 초대는 비교적 늦게 답장이 온다는 점에 유의해야 한다. 그리고 DM으로 신청하는 방법과 마찬가지로 작가임을 증명하는 자료들도 함께 첨부해야 한다.[3] 그렇다고 특별히 복잡한 의사소통이 필요한 것은 아니다. "안녕하세요? 저는 한국인 아티스트입니다. 저도 Glaze를 사용하고 싶습니다." 정도면 충분하다.[4] 사용자 이름은 150문자 이내로, 문자와 숫자, 기호, 비밀번호 재입력(Passward confirmation)의 항목이 있는데 각각 입력해준다. 기호는 골뱅이(@), 마침표(.), 플러스(+), 마이너스(-)만 넣을 수 있다.