Programming, IT, Algorithm, Security
article thumbnail
[딥러닝] 클래스 밸런싱의 여러 방법과 Stable Diffusion 데이터셋의 멀티 레이블 클래스 밸런싱
IT 2023. 9. 11. 01:27

동기 10만장 정도의 중규모? 멀티 레이블 캡션-이미지 데이터셋을 구축해서 새로운 모델을 파인튜닝하려고 시도 중인데, 기존에 시도했던 수많은 파인튜닝 모델들이 공통적으로 데이터셋이 적은 class는 학습이 되지 않거나, 대충 오버샘플링 할 경우 과적합 된 것 처럼 diversity가 매우 낮다는 문제가 있어 이러한 클래스 불균형 문제를 해결하기 위한 여러 방법을 정리하고 이를 바탕으로 새로운 아이디어를 제시해보고자 한다. 클래스 밸런싱이란? 클래스 밸런싱은 원래 분류 모델에서 자주 거론되는 클래스 불균형을 해결하는 방법을 일컫는 말이다. 클래스 불균형은 말 그대도 데이터셋에 존재하는 각 클래스의 데이터의 양이 고르지 않은 것을 의미한다. 클래스 불균형은 딥러닝 및 머신러닝에서 예측 성능 저하, 정확도 왜..

article thumbnail
[하드웨어] 노트북 CPU 클럭 제한으로 쓰로틀링 방지하기(간헐적 렉 해결하기)
IT 2023. 6. 30. 00:59

동기 최근, 카트라이더 드리프트라는 게임을 노트북으로 하던 도중 간헐적으로 갑자기 플레이 할 수 없을 정도의 렉이 걸리는 증상이 발생했다. 이 문제를 해결하기 위해 여러 방법을 시도하던 중 가장 좋은 방법을 찾아서 글을 쓰게 되었다. 원인은 쓰로틀링 나는 이 문제의 원인을 파악하기 위하여 hwinfo 라는 프로그램을 사용하였다. 해당 프로그램을 다른 모니터에 띄워놓고 게임을 플레이하며 간헐적 렉이 발생하는 원인을 파악하기 위하여 관찰했다. 관찰 결과, 렉이 걸리면 CPU의 클럭이 4000Mhz 이상에서 500Mhz 대로 급격하게 저하되는 것을 확인하였다. 이것의 원인은 CPU온도가 100도를 넘나들며, 열 조절 항목의 값이 '예'로 되어있는 것으로 확인 가능했다. CPU의 쓰로틀링(열 조절)이 발동한 것..

Stable Diffusion WebUI에서 프롬프트만으로 과적합된 모델을 살리는 팁(Prompt Editing)
IT 2023. 3. 10. 23:15

StableDiffusion이 나오고 얼마 되지 않아서 발견한 팁들로 발견한지 꽤 오래 되었지만 아는 사람이 거의 없는거 같아서 글로 적어본다. 과적합된 모델이란? 이 글에서 의미하는 과적합된 모델은 스타일이나 캐릭터 등의 subject를 드림부스나 LoRa, 파인튜닝등으로 학습한 모델에서 특정 단어를 넣으면 원래 의도와 다르게 같은 자세만 나오거나 같은 캐릭터만 나오는 모델을 의미한다. 이런 현상은 데이터셋의 크기가 작을때 자주 발생한다. 예를 몇가지 들어 보자면, 캐릭터의 사진이 모두 같은 자세를 취하고 있다면 캐릭터를 출력하면 해당 자세만 출력된다. 흑백 캐릭터 그림만 학습할 경우, 캐릭터를 출력하면 흑백으로만 나오게된다. 캐릭터를 학습하는데 데이터셋이 모두 같은 그림체일 경우, 다른 그림체로는 잘..

article thumbnail
[딥러닝]Stable Diffusion에서 너무 어두운 이미지를 학습하지 못하는 이유와 해결 방법(noise offset에 대하여)
IT 2023. 3. 4. 04:28

동기 Stable Diffusion, Latent Diffusion Model 관련 논문들과 정보글을 찾아다니다가 어두운 이미지를 출력하지 못하고, 학습하지도 못한다는 흥미로운 글을 발견해서 읽어보고 그 글에 나온 원인과 해결 방법까지 알아보게 되었다. 문제 Stable Diffusion을 사용하여 이미지를 출력하다 보면, midnight, dark를 써줘도 내가 생각한것 만큼 어두운 이미지가 나오지 않는다. 학습 이미지가 부족해서 그런가라는 생각을 가지고 매우 어두운 그림의 이미지를 모델에 학습시켜도 더 밝아져서 나오게 된다. 실험결과,심지어 완전히 검은색인 이미지를 학습시키고 출력해도 아래 그림처럼 검은색 이미지가 나오지 않는다고 하며, 출력되는 이미지 값의 평균이 0.5라고 한다. 문제 원인 이 문..

Tag Counter : 데이터셋에서 csv 태그 형식의 라벨을 카운팅 하는 프로그램
Programming 2023. 2. 18. 21:29

https://github.com/baejun10/Tag-counter-for-datasets GitHub - baejun10/Tag-counter-for-datasets Contribute to baejun10/Tag-counter-for-datasets development by creating an account on GitHub. github.com 개발 동기 Stable Diffusion 모델을 학습시키기 위해서 Wd tagger나 BLIP등의 도구를 이용하여 이미지의 캡션을 생성하여 학습시켰다. 그런데 데이터셋에서 어떤 태그가 가장 많고 적은지 카운팅하는 프로그램이 없어 개발하게 되었다. 또한, 어떤 태그가 가장 많은지를 알면 프롬프트를 작성할때 좋은 참고가 된다. 이미지를 대량으로 파인튜닝하..

article thumbnail
[딥러닝 연구] Classifier-Free-Guidance(CFG)와 Stable diffusion 파인튜닝
IT 2023. 2. 18. 21:06

동기 지금까지 text-to-image 생성 모델인 여러 Latent Diffusion Model을 파인튜닝 해왔는데, 이미지 생성 모델에 대한 논문을 다시 정독하다가 CFG에 대한 부분을 전혀 고려하지 않고 있었다는 것을 깨달았다. 그래서 이걸 고려해서 새로운 기법을 적용하여 파인튜닝 해 본 결과 꽤 재미있는 결과가 나와서 글을 쓰게 되었다. Text Conditioning의 중요성 text-to-image 생성 모델에서는 text conditioning이 매우 중요한 역할을 한다. 자신이 원하는 이미지를 출력하기 위해서는 입력한 프롬프트를 이해하고 정확하게 Sampling을 해야 하기 때문이다. Stable Diffusion 에서는 샘플링 과정에서 text condition이 적용된 샘플의 퀄리티를 ..