일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 중학수학
- 머신러닝
- 딥러닝
- C++
- pandas
- 정보처리기사필기
- 자바 실습
- 데이터베이스
- 컴퓨터비전
- 자바
- SQL
- 정보처리기사실기
- JSP/Servlet
- numpy/pandas
- 연습문제
- CSS
- 정수와유리수
- 데이터분석
- 컴퓨터구조
- 중학1-1
- 운영체제
- html/css
- 혼공머신
- 데이터입출력구현
- 코딩테스트
- 영어공부
- 텍스트마이닝
- 파이썬
- CNN
- 파이썬라이브러리
- Today
- Total
목록딥러닝 (59)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
이제 드디어 딥러닝 컴퓨터 비전 학습에 들어가 본다. 딥러닝에 대해서는 다른 여러 권의 책과 강의를 통해 어느 정도 공부했지만 아직 완전히 이해한 것이 아니니 이 공부가 많은 도움이 될 것 같다. 그리고 이 책은 다른 어떤 책 보다 깊이 있게 설명하고 있어 처음 들을 때는 어렵지만 개념을 잡는데 좋은 책이라고 생각한다. 시작하기 전에컴퓨터 비전은 꾸준히 발전을 거듭하였고 다양한 분야에서 실용적인 시스템을 만드는데 성공하였다. 6장에서는 성공적인 알고리즘을 중심으로 비전 에이전트를 직접 제작하는 값진 경험을 했다. 이런 발전에도 불구하고 여전히 해결하지 못한 어려운 문제가 아주 많다. 아래 그림은 두 가지 대표적인 문제다. 그림 7-1 a는 의미 분할 문제로 물체를 구성하는 화소를 모아 영역으로 분할하고 ..
딥러닝 모델은 이미지를 분류하는 문제를 잘 해결할 수 있다. 여기서 갖는 의문은 딥러닝 모델이 이미지의 어떤 부분을 인식해서 분류하는지이다. 예를 들어 강아지와 고양이를 분류하는 딥러닝 모델은 해당 이미지의 어떤 특징을 포착하는지 알 수 없다. 이런 관점에서 소개한 개념이 Grad CAM이다. 위의 그림처럼 개와 고양이가 함께 있는 사진을 보여주면 해당 모델은 어떤 선택을 할까? 이미지넷 대회의 딥러닝 모델은 입력 이미지에서 하나의 클래스만을 예측하는 것으로 설계되었기 때문에, 개 또는 고양이로 해당 이미지를 분류한다.Grad CAM을 사용하면 모델이 이미지의 어떤 부분을 중심적으로 관찰하고 있는지 확인할 수 있다. 따라서 모델이 개라고 분류한다면 이미지의 특정한 위치에서 개의 특징을 잡아내고 있다는 가..
이어서 스타일 변환에 대한 학습을 이어가볼 것이다. 스타일 변환 실습해보기 Style Loss의 Ground True 값을 미리 구하고, 출력 값의 형태를 확인한다. 추출된 스타일 특성맵을 시각화한다. Content Loss의 Ground True 값을 구한다. 추출된 콘텐츠 특성맵을 시각화한다. Gram Matrix 함수를 정의한다. 스타일 변환을 적용할 남산타워 이미지를 입력값으로 지정한다. 옵티마이저를 Adam으로 사용하고 스타일 변환 모델을 학습한다. 주의할 점은 입력 이미지로 콘텐츠 이미지를 사용하지만, 반드시 텐서로 변환해야 한다. 이렇게 하면 Gradient 값을 구해 입력 이미지를 변경하여 새로운 스타일로 변환할 수 있다. 책에 있는 코드가 잘못되어서 ..
스타일 변환에 대해서 학습해 보기로 하자. 스타일 변환은 두 장의 서로 다른 이미지를 사용하여 새로운 이미지를 합성하는 방법이다. 스타일 전이라고도 부른다. 합성곱 신경망을 통해 각 레이어에서 추출되는 다양한 특징을 이용한다. 처음에 입력으로 주어지는 두 장의 이미지 중에서 하나는 콘텐츠 이미지로써 이미지의 구조와 형태를 나타내는 콘텐츠를 추출한다. 다른 이미지는 스타일 이미지로써 이미지 고유의 스타일만을 추출한다.이처럼 각기 다른 두 장의 이미지에서 출출된 콘텐츠와 스타일을 하나로 결합하면 콘텐츠 이미지의 기본 형태를 유지하면서 스타일이 변환된 새로운 이미지를 얻을 수 있다. 스타일 변환 실습해보기사전 학습된 모델을 활용해 스타일 변환을 구현한다. 처음부터 모델을 학습하려면 많은 그림 데이터와 오..
조금 전에 실행이 안 되는 코드가 있어서 무척 마음이 안 좋았다. 코드가 틀려서 안 되는 것이 아니라 계속해서 코랩을 실행 중에 중단이 되었다. 인터넷은 잘 연결되고 쿠키와 모든 기록도 삭제했음에도 여전히 되지 않았다.아무튼 조만간 이 문제를 반드시 해결해 볼 것이다. 이제 GPU를 쓰기가 겁나며 또 코드가 중단되면 어떡하나 하는 걱정이 들기도 하다. 그래도 다음 학습을 하는 데까지 진행해 보려고 한다. GAN에 대하여2014년 굿펠로 등에 처음 소개된 GAN(Generative Adversarial Network)은 생산적 적대 신경망이리고 번역할 수 있다. '생산적'이라는 것은 Gererator(생산자)가 학습에 필요한 데이터를 만드는 것을 나타내고, '적대적'이라는 것은 만들어지는 데이터가 Di..
이제 오늘 오후에는 책으로 합성곱 신경망을 학습하고 모두 끝낼 생각이다. 아침에 예배를 갔다 와서 새벽에 하지 못했던 운동도 하고 샤워도 하니 개운하니 정말 좋다.점심을 먹기 전에 잠깐 공부를 하며 워밍업을 한 후 식사 후에 나머지 부분을 하게 될 것 같다. 이미지 분할에 대하여이미지 분할 또는 세그멘테이션은 이미지를 구성하는 모든 픽셀에 대해 픽셀 단위로 분류하는 것이다. 즉, 모든 픽셀은 어떤 클래스에 속한다. 예를 들어 배경 클래스와 객체 클래스로 구성된 이미지가 있다면, 모든 픽셀은 배경 또는 객체 중 하나로 분류된다. 이렇게 모든 픽셀에 대한 정답 클래스를 레이블 처리한 데이터셋을 가지고, 딥러닝 모델을 훈련시키면 정답 클래스를 알지 못하는 새로운 이미지에 대해서로 배경과 객체를 분리할 수 있..
이미지의 특정 부분을 채우는 실습을 진행해보겠다. 이미지 인페인핑 실습해보기 인페인팅과 포즈 중심의 사진을 만들 수 있는 라이브러리를 설치한다. 그런 다음 이 모델을 사용할 수 있는 함수와 파리프라인 클래스를 추가해준다. 자세한 이야기는 지금은 어차피 이해하지 못할테니 생략한다. 이제 사진을 하나 가져와서 편집해보려고 한다. 수업 시간에는 선생님들의 사진을 가져와서 편집했지만 블로그에 올리기는 그래서 무료 이미지를 하나 가져왔다. 난 동물을 좋아하니 동물 사진을 하나 다운 받았다. 사진 편집해보기 사실 포토샵으로 하면 더 편리하겠지만 요즘 포토샵은 모두 유료 버전으로 바뀌어서 사용할 수 없게 되었다. 무료로 설치했던 것들도 다 걸러져서 켜기만 하면 이상한 창이 뜬다. 그리고 개발 공부를..
이제 이미지 생성 모델 실습을 진행해 보겠다. 지금까지 개념 학습을 하느라 고생이 많았으니 이번에는 조금 더 재미있는 수업을 시작해 보겠다. Stable Diffusion 기초 실습 자연어를 이해하기 위한 transformers를 설치한다. 글자를 숫자로 바꾸는데 일조하는 것 중 하나이다. cuda를 사용해 GPU로 계산되도록 생성한다. 프롬프트 이미지를 생성하는데 프롬프트를 생성하는 것이 까다롭기에 참고할만한 사이트를 소개한다. 프롬프트 참고 사이트 Civitai: The Home of Open-Source Generative AIExplore thousands of high-quality Stable Diffusion & Flux models, share your AI-gener..
이번에는 이미지 생성 모델 실습을 하기 전에 Diffusion 모델에 대해서 더 공부해보려고 한다. Diffusion 모델에 대하여 잡음 예측기의 학습 과정 Forward diffusion은 작음 예측기를 학습하는 과정이다. 원본 이미지에 노이즈 값을 지속적으로 추가하여 완전한 노이즈가 될 때까지 학습을 수행한다. 여기서는 총 네 번에 걸쳐 수행하는 과정을 보여준다. 처음에는 오리지널 이미지가 있는데 여기에 랜덤하게 숫자를 넣어 각 픽셀마다 연산한다. 그러면 1차 노이즈 이미지가 만들어지면 1번 이미지를 잡음 예측기 안에 집어넣는다. 잡음 예측기는 잡음 예측 정도를 계산한다. 실제 잡음 예측값과 잡음 예측기의 예측값의 차이를 계산하여 잡음 예측기의 값을 업데이트한다. 2번은 1번보다 더 노이..
원래 어제 5시까지 특강이 있었는데 너무 지루하고 별로 도움이 되는 강의도 아닌 것 같아 3시쯤 나와서 집에 왔다. 집에 가서 공부를 시작한 지 30분도 되지 않아 정말 졸리고 피곤해서 도저히 공부에 집중할 수 없었다. 차라리 저녁을 일찍 먹고 일찍 취침한 후 다음날 일어나서 공부를 해야겠다고 생각했다.사실 딥러닝 공부는 많이 지루하고 재미는 없다. 그냥 필요하니까 하는 거지 재미있어서 하는 공부는 아니었다. 딥러닝과 시각지능을 1주일 넘게 공부하다 보니(이번주에는 다른 일정이 있어 많아 평소 공부량의 절반도 되지 않았음) 이제는 정말 지루해서 RNN까지는 공부하기 힘들 것 같다. 중간에 다른 과목으로 좀 틀었다가 다시 나머지 공부를 진행하는 것이 나을 것 같았다. 처음 딥러닝을 공부할 때도 이런 식으로..