0.개요오늘도 심심풀이로 StableDiffusion 모델 기반으로 AI 그림을 뽑아내던중 저위에 있는 CheckPoint랑 VAE가 뭘하는 친구들인지 갑자기 궁금증이 생겨서 조사하게되었다. 1. Diffusion 모델이를 알기 위해서는 Diffusion 모델을 알아야하는데 처음에는 노이즈를 포함한 무작위 데이터를 만들고, 그 데이터를 점차적으로 '복원'하는 방법을 학습하는 방식이 Diffusion 모델의 방식이다.https://asa9874.tistory.com/504 [AI] Diffusion 모델이 뭐지?개요Diffusion 모델 이라는 말을 요즘 많이 듣게 되는데 AI 이미지를 뽑을때도 Stable Diffusion을 사용하고 있어서 이게 뭘의미하는 모델인지 궁금하여 조사하였다. Diffu..
개요Diffusion 모델 이라는 말을 요즘 많이 듣게 되는데 AI 이미지를 뽑을때도 Stable Diffusion을 사용하고 있어서 이게 뭘의미하는 모델인지 궁금하여 조사하였다. Diffusion 모델이란?Diffusion 모델은 확률적 생성 모델이라고 하는 모델이라고 하는데 간략적으로 조사해본결과 노이즈를 추가하고 노이즈를 제거하는 과정을 거치면서 원하는 데이터를 생성하는 모델이다. 노이즈를 추가하고, 그 노이즈를 다시 제거하는 과정을 통해 새로운 데이터를 생성하는 방식으로 초기에는 데이터에 노이즈를 더해 점차적으로 의미를 잃게 만들고, 그 후에는 역방향 과정을 통해 노이즈를 제거하면서 원래의 데이터를 재구성하거나 새로운 데이터를 생성한다. 전방 과정(Forward Process)?아래 과정은..
아나콘다데이터 과학, 머신러닝, 인공지능, 과학 계산 등을 위해 설계된 파이썬(Python)과 R의 통합 배포판이다. 기본적으로 이에 필요한 다양한 라이브러리들을 포함하고있어서 편하게 사용할수있다. 아나콘다 설치,사용1. 홈페이지에서 설치난 윈도우 버전으로 다운로드 하였다.https://www.anaconda.com/ Anaconda | The Operating System for AIDemocratize AI innovation with the world’s most trusted open ecosystem for data science and AI development.www.anaconda.com Path을 추가하면 다른 앱들과 충돌이 일어날수있다고 경고하는데 CMD에서 명령어를 못쓰는건 너무 ..
AI에 대해 학습되지않은 상태로 깡으로 머리박았을 시점에 작성한 글임(아무런 영양가 없음)1.GPT2란GPT 모델중 하나로 최대 15억 개의 파라미터를 가지고있다.(참고로 GPT-3가 1750억개) 대신 직접 모델 파일을 다운받아서 사용할수 있기 때문에 이번기회에 한번 다운받아서 사용해 보았다. 2.깃헙 코드Openai의 gpt-2 돌리기 위한 코드는 다음에서 clone 하여 사용하였다.https://github.com/openai/gpt-2 GitHub - openai/gpt-2: Code for the paper "Language Models are Unsupervised Multitask Learners"Code for the paper "Language Models are Unsupervised..
람다 표현식이름이 없는 함수를 간결하게 정의Arrays.sort(list, new StringLengthComparator());Arrays.sort(list, (s1, s2) -> s1.length() - s2.length());-> 화살표연산자() 안에 매개변수(없으면 빈괄호)() 는 매개변수 1개면 생략가능매개변수 타입 생략시 var 적용일부만 var 적용불가능표현식여러문장이면 {} 작성람다 표현식은 그 표현식이 등장하는 블록 가시영역에 포함됨캡처라고함캡처된변수는 수정불가하지만 참조변수면 객체상태는 변경가능int num = 10; // 지역 변수// num이 final 이거나 실질적 final 변수일때만 캡처가능// 람다 표현식에서 num을 사용Runnable r = () -> System.out..
범용함수template의 사용interface필요범용 클래스유지하는 값의 타입을 제한없음모든 타입으로 유지범용 클래스 내의 T 타입 객체를 new 불가필요한 객체를 외부에서 생성하여 전달함배열은 Object 배열,template을이용하는 자료구조interface필요없음public class Box { private T value; public Box(T value) { this.value = value; }}범용 객체 생성List files = new ArrayList();List files = new ArrayList();//타입지정생략var files = new ArrayList();T files = new V();범용메소드타입 매개변수를 가지는 메소드다양한 타입을 처리할..
Object 클래스상속받지않으면 자동으로 Object 클래스 상속(모든 클래스의 부모)toString 메소드System.out을 이용한 출력 디버깅재정의안해도 호출은가능하지만 유용하지않음 @Override public String toString() { return "Person{name='" + name + "', age=" + age + "}"; }equals 메소드두객체 내부 상태 비교할때 사용Object클래스 의 equals는 주소검사(같은 객체를 가리키는지검사) @Overridepublic boolean equals(Object obj) { if (this == obj) return true; // 자기 자신과 비교 if (obj == null || getClass() !..
쓰레드CPU를 통해 실행하는 최소 단위Runnable interface 구현하여 정의main이 끝나도 쓰레드가 아직 수행 중이면 프로그램은 종료하지 않음타이머java.util.Timer정해진 시간 간격마다 사건을 발생record데이터 클래스를 간단하게 정의상속받을수없고 final 클래스임getter, toString(), equals(), hashCode() 자동생성record 객체는 불변객체임멤버 변수 중 참조 타입의 불변 객체가 아닌 객체가 있으면주의(getter로 접근뒤에 내부 수정할수있음)public record Position(int a, int b) { //a,b는 private 필드고 getter,setter로 접근해야함 // 추가적인 메서드를 작성 가능}새로 추가된 생성자는 반드..