본문 바로가기
반응형

전체 글97

딥러닝 공부 책 추천 [Easy 딥러닝] Self-Attention이란 최근 인공지능 발전에 큰 도움을 준 트랜스포머의 핵심이라고 할 수 있는 Self-Attention에 대하여 알아보겠습니다.Easy 딥러닝 책을 기반으로 attention의 내용을 공부했으며, 자연어처리에서 처음 나온 개념이고, 해당 책에 구체적인 설명과 그림을 통해서 이해하기 쉽도록 나와있기 때문에 추천드리는 책입니다.공부한 내용과 이해한 부분을 그림으로 표현해봤습니다. Attention은 입력 데이터에서 모델이 중요한 부분에 “주의”를 집중할 수 있도록 하는 방법입니다.이러한 과정은 사람이 긴 글이나 그림을 볼 때 중요한 부분에 집중하는 것과 유사합니다.기존에 사용되던 RNN 방식의 Attention의 문제점 중 하나는 '멀수록 잊혀진다'는 RNN의 근본적인 문제가 여전히 존재한다는 것이고, Atten.. 2025. 2. 16.
[논문 리뷰] ControlNet: Adding Conditional Control to Text-to-Image Diffusion Models AbstractControlNet은 Pretrained text-to-image diffusion model에 spatial conditioning control을 추가하는 neural network 아키텍처다.ControlNet은 이미 학습이 다 된 large diffusion model을 freeze하여 수십 억개의 이미지로 pretrain된 encoding layer를 백본으로 재사용하여 다양한 conditional control set을 학습한다. 아키텍처는 파라미터를 0에서 점차 증가시키는 "zero convolution"(초기화된 convolution layer)으로 연결되고, 유해한 noise가 finetuning에 영향을 주지 않도록 보장한다. edge, depth, segmentation.. 2023. 11. 9.
[Python] 프로그래머스 - 옹알이(1) 문제 풀이 def solution(babbling): temp = ["aya", "ye", "woo", "ma"] answer = 0 for i in babbling: for k in temp: i = i.replace(k, ' ') i = i.replace(' ', '') if len(i) == 0: answer += 1 return answer 조카가 발음할 수 있는 단어를 list에 담아준다. 정답을 맞췄다면 카운트를 세줄 answer 변수를 만들어준다. 들어오는 입력값인 babbling를 반복문으로 하나씩 읽는다. 이중 for문을 사용해서 조카가 발음할 수 있는 단어들을 확인한다. 들어온 입력값인 i에 조카가 발음할 수 있는 단어가 있으면 replace를 통해서 공백으로 바꿔준다. ''이 아닌 '.. 2023. 9. 28.
[Python] 예외 처리 예외처리란? 오류 상황에 대처하는 것이 예외 처리이다. 예외 처리하기: try-except 문 try: 실행할 명령1 실행할 명령1 ... except 오류 종류: 예외 처리 명령1 예외 처리 명령2 ... try: print('나누기 전용 계산기') num1 = int(input('첫 번째 수: ')) num2 = int(input('두 번째 수: ')) print(f'{num1} / {num2} = {int(num1/num2)}') except ValueError: print('오류 발생 잘못된 값을 입력했습니다.') 입력값에 6와 '삼' 을 넣으면 except 부분의 print() 문이 실행된다. 프로그램을 다시 실행해서 6과 0을 넣으면 다른 에러를 발생 시킨다. ValueError와는 다른 종류.. 2023. 4. 1.
[Pytorch] 합성곱 신경망: 딥러닝 학습시키기 기본 필요한 라이브러리 호출 import numpy as np import matplotlib.pyplot as plt import torch import torch.nn as nn from torch.autograd import Variable import torch.nn.functional as F import torchvision import torchvision.transforms as T from torch.utils.data import Dataset, DataLoader 파이토치는 기본적으로 GPU 사용을 권장한다. 하지만 GPU가 장착되지 않은 환경에서도 파이토치를 정삭적으로 실행하고 사용할 수 있다. CPU 혹은 GPU 장치 확인 device = torch.device('cuda:0' if t.. 2023. 3. 29.
[Python] 클래스 정리 클래스는 붕어빵 틀에 비유하곤 한다. 붕어빵을 만들 때 틀에다가 반죽과 속재료를 넣고 불에 구우면 똑같은 모양의 붕어빵을 여러 개 만들 수 있다. 그리고 반죽과 속재료를 바꿔도 항상 같은 모양의 붕어빵이 만들어진다. 클래스 안에는 필요한 함수를 정의하는데, 클래스 안에 정의하는 함수를 특별히 메서드(method)라고 한다. 단, 일반 함수와 다르게 첫 번째 전달값 위치에는 self라고 넣는다는 점을 주의해야한다. class 클래스명: def 메서드명1(self, 전달값1, 전달값2, ...): 실행할 명령1 실행할 명령2 ... def 메서드명2(self, 전달값1, 전달값2, ...): 실행할 명령1 실행할 명령2 ... 메서드 안에는 전달값을 받는 변수를 정의한다. 이 때 변수는 다음과 같은 형식으로.. 2023. 3. 29.
[Python] 입출력 정리 표준 입력받기: input() answer = input('아무 값이나 입력하세요 : ') print('입력한 값은'+answer+'입니다.') input()을 받았을 때는 type이 str이기때문에 정수형을 사용하려면 type을 바꿔야한다. 표준 출력 시 유용한 기능 구분자 넣기: sep print() 함수에 sep 매개변수 기본 값은 공백(' ')이다. 기본값 대신 다른 값을 넣어 print() 함수를 실행하면 해당 값을 구분 기호로 사용한다. print('파이썬', '자바') print('파이썬', '자바', sep=',') 문장 끝 지정하기: end print() 함수를 2개 이상 연속해서 사용하면 각각 다른 줄에 실행결과를 출력한다. 이 때 end에 다른 값을 넣어 주면 문장 끝을 줄 바꿈 대신.. 2023. 3. 25.
[Python] 함수 정리 함수 정의하기 파이썬에서는 함수의 입력값을 전달값이라고 하고, 출력값을 반환값이라고 한다. 파이썬 함수는 전달값, 반환값에 동작까지 포함해 3가지 요소로 이뤄진다. def 함수명(): 실행할 문장1 실행할 문장2 ... 실습: 은행 계좌 개설하기 def open_account(): print('새로운 계좌를 개설합니다.') open_account() >> 새로운 계좌를 개설합니다. 전달값과 반환값 def 함수명(전달값1, 전달값2, ...): 실행할 문장1 실행할 문장2 ... return 반환값1 실습: 입금하기 def open_account(): print('새로운 계좌를 개설합니다.') open_account() def deposit(balance, money): print(f'{money}원을 입.. 2023. 3. 22.