전체 글

AI Fundamentals/Computer Architecture

[Computer Architecture] Lecture 1: 컴퓨터 구조를 알아야 하는 이유

해당 블로그 포스트의 내용은 [한빛미디어]의 '혼자 공부하는 컴퓨터 구조와 운영체제' 책의 저자이신 강민철님께서 강의하신 내용을 위주로 정리했습니다.  https://youtube.com/playlist?list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl&si=H1U9OoqlmQ8ZiZai [컴퓨터 공학 기초 강의] 혼자 공부하는 컴퓨터 구조+운영체제강민철 저자님과 함께하는 『혼자 공부하는 컴퓨터 구조+운영체제』 강의입니다. 다른 입문서에서는 알려주지 않았던 진짜 컴퓨터 공학 지식을 만나보세요! 👨‍🏫 누구를 위한 강의인가요? -www.youtube.com1. Intro   좋은 개발자는 프로그래밍 언어의 문법과 함께 컴퓨터의 근간을 알아야한다.  라는 것이다.   여기서 컴퓨터의..

Generative Model

[Generative Model] GAN 첫걸음 - Chapter 10

1. Chapter 10 - Condtional GAN    Chapter 10에서는 앞에서 설계한 DCGAN등에서 발생하는 다양성 없이 이미지를 생성하는 Mode Collapse를 해결하기 위해   GAN이 생성하는 이미지를 단일한 클래스로 고정한 채 다양한 이미지를 생성할 수 있도록 Conditional Input을 넣어주는 CGAN (Conditional GAN)을 설계한다. 예를 들어 GAN에 숫자 3을 표현하는 다양한 이미지를 생성하라고 요청할 수 있다.또는 훈련 데이터에 감정을 나타내는 클래스가 있고 얼굴 이미지로 훈련을 하고 있다면행복한 표정의 얼굴만 만들어달라고 요청할 수도 있다. 1.1) Conditional GAN 구조   Generator   훈련된 GAN Generator가 주어진 ..

Tips

[TIPS] save_image( ) 함수 적용시 grayscale image가 color image로 변하는 이유

1. Grayscale Image turn into Color Image 우선, 이러한 현상에 대해 논의한 내용들은 아래의 링크에 포함되어 있다. https://discuss.pytorch.org/t/save-one-channel-normalized-tensor-to-image/38402 Save one channel normalized tensor to image When training, I torchvision.normalize image to [-1,1]. The output of network like this [16,1,256,256]. So I want to save output tensor to image, but torchvision.utils.save_image() will make o..

Tips

[TIPS] Transposed Convolution

1. Upsampling w/ Interpolation Methods    데이터의 효율적인 연산을 위해 차원을 축소하는 과정을 'Downsampling'이라고 하고,   반대로 데이터의 크기를 역으로 늘리는 (차원을 확대하는) 과정을 'Upsampling'이라 한다.   Upsampling을 이용하면 Feature Map에서 시작하여 이미지를 생성할 수 있다. 이때, Upsampling 과정 중 추가로 데이터를 생성하는 방법도 여러가지가 있는데, 이를 보간법이라 한다. 보간법(interpolation)에는 크게 4가지의 종류가 있다.1. Nearest Neighbor(Unpooling): 복원해야 할 값을 가까운 값으로 복제 (각 원소를 복사해서 넣음)2. Bed of Nails(Unpooling): ..

Generative Model

[Generative Model] GAN 첫걸음 - Chapter 9

1. Chapter 9 - Convolutional GAN Chapter 9에서는 Chapter 8까지 만들어온 CelebA GAN을 기반으로 아래의 2가지 문제를 중심적으로 해결하는 모델을 만들 것이다. 이미지가 약간 불명확하게 보인다. 부드럽게 연결되어야 할 공간들이 고대비 pixel들로 채워져 있다. FC Layer는 꽤나 많은 메모리를 차지한다. 어느정도 큰 이미지를 대상으로 훈련한다면 GPU의 한계를 넘어서 훈련이 어려울 수 있다. 많은 소비자용 GPU는 구글 코랩이 제공하는 장비인 T4 or P100보다 적은 메모리를 가지고 있다. 1.1) Memory Usage 새로운 Convolutional GAN 구조를 짜기 전에, 앞서 만든 CelebA GAN이 Memory를 얼마나 소비하는지 확인해보..

Research/Paper Review

[Paper Review] GAN (Generative Adversarial Networks)

0. Abstract   해당 논문에서는 두 가지의 Model(Discriminator, Generator)을 Adversarial Process를 통해 동시에 훈련하는 Generative Model의 아이디어를 제안한다.   Discriminator(판별자)는 Generator가 만든 Fake Data가 아닌 Real Data의 확률분포를 추정하고, Generator(생성자)는 임의의 Noise를 Sampling하여 Real Data와 유사한 분포를 Mapping(생성)한다. 이때, Generator는 Discriminator가 자신이 만든 Fake Data를 Real Data로 착각하도록 하는 확률을 최대화하도록 한다.  이러한 학습 구조를  minimax t..

Tips

[Tips] nn.Sequential( )안에 tensor의 shape(size)을 조정

https://github.com/pytorch/vision/issues/720 Reshape/View as a module? · Issue #720 · pytorch/vision I was wondering if there is module which performs reshape/view so that it can be added to nn.Sequential just as other modules like Conv2d or Linear. The reason I want this feature rather than simpl... github.com Q1 Q1. nn.Sequential( ) 안에서 tensor의 shape(size)을 바꿀 수 있는가? A. 따로 Class를 정의하여 사용해야 된다...

Generative Model

[Generative Model] GAN 첫걸음 - Chapter 8

1. Chapter 8 - 얼굴 이미지 Chapter 8에서는 GAN을 훈련하여 사람의 얼굴을 생성하는 Task를 수행한다. Chapter 7에서 수행한 MNIST(사람의 손글씨) 단색 이미지를 생성하는 것보다 더 어려운 Task인 이유는 다음과 같다: Full-Color Image (Channel 개수 = 3)를 훈련해야 하고, 생성해야 한다. 사진의 훈련 데이터셋을 이용해 조금 더 다양하고 그럴듯한 결과를 생성해야 한다. 1.1) Color Image Image Data Gray Scale (흑백 사진): $H \times W \times 1$ Channel이 1개만 존재 Channel이 없다고 생각하면 안됨: $H \times W$ 가 아니라 $H \times W \times 1$로 Channel까..

Research/Paper Review

[Paper Review] YOLOv1

2-stage detector는 localization과 classification을 수행하는 network 혹은 컴포넌트가 분리되어 있다. 이는 각 task가 순차적으로 진행되는 것을 의미하며, 이러한 과정에서 병목현상이 발생하여 detection 속도가 느려지게 된다. 반면 1-stage detector는 하나의 통합된 네트워크가 두 task를 동시에 진행한다. YOLO v1은 대표적인 1-stage detector로, FPS를 개선하여 real-time에 가까운 detection 속도를 보였다. Preview YOLO v1 YOLO v1은 localization과 classification을 하나의 문제로 정의하여 network가 동시에 두 task를 수행하도록 설계했다. 이를 위해 image를 지..

Jae.
Steady & Persistent