본문 바로가기

전체 글

(87)
EC2 인스턴스 스토리지 EBSElastic Block Store인스턴스에 붙일 수 있는 네트워크 드라이브EC2와 EBS가 서로 통신하기 위해서는 네트워크를 필요로 함인스턴스에서 뗄 수도 있고, 다른 인스턴스에도 붙일 수 있음인스턴스가 종료되어도 데이터를 유지할 수 있게 도와줌한 번에 하나의 인스턴스만 마운트 할 수 있음특정 가용영역에서만 생성할 수 있음스냅샷을 이용하면 다른 영역으로도 볼륨을 옮길 수 있음용량을 미리 결정해야 함더 좋은 용량이나 큰 사이즈가 필요하면, 이후에 용량을 늘릴 수도 있음종료 시 삭제 기능EC2 인스턴스를 생성할 때 콘솔에서 EBS 볼륨을 생성하면 종료 시 삭제 기능을 사용할 수 있음인스턴스 종료시 EBS 행동을 제어함EBS SnapshotsEBS volume의 백업스냅샷을 하기 위해서 EBS를 인스턴..
EC2 IPv4 vs IPv6형태IPv4: 1.160.10.240IPv6: 3ffe:1900:4545:3:200:f8ff:fe21:67cf특징IPv4IP 주소 적을 때 가장 많이 사용하는 형식37억 개의 서로 다른 주소를 허용한다. -> [0-255].[0-255].[0-255].[0-255]IPv6: IoT에서 많이 사용됨Public IP vs Private IP (IPv4)Public IP가 있으면 인터넷 전역에 액세스 할 수 있고, Private IP로는 사설 네트워크 내에서만 엑세스 할 수 있다.Private IP에서 Public IP에 접근하려면 Internet Gateway를 통해야 한다. Public IP기기가 인터넷상에서 식별될 수 있음각 공용 IP는 전체 웹에서 유니크해야 함IP가 있으면 바로 ..
PyTorch로 GAN을 만들 때 detach()를 사용하는 이유 GAN을 구현할 때 netD(fake.detach())를 산다. 왜 이렇게 구현하는 것일까? ## 가짜 데이터들로 학습을 합니다 # 생성자에 사용할 잠재공간 벡터를 생성합니다 noise = torch.randn(b_size, nz, 1, 1, device=device) # G를 이용해 가짜 이미지를 생성합니다 fake = netG(noise) label.fill_(fake_label) # D를 이용해 데이터의 진위를 판별합니다 output = netD(fake.detach()).view(-1) # D의 손실값을 계산합니다 errD_fake = criterion(output, label) # 역전파를 통해 변화도를 계산합니다. 이때 앞서 구한 변화도에 더합니다(accumulate) errD_fake.bac..
Gradient 추적과 그것을 멈춰야 하는 이유 Gradient 추적 멈추기 기본적으로, requires_grad=True인 모든 텐서들은 연산 기록을 추적하고 gradient 계산을 지원한다. 그러나 모델을 test 할 때와 같이 forward 연산만 필요한 겨우, 이러한 추적이나 지원이 필요 없을 수 있다. 그럴 때에는 연산 코드를 torch.no_grad()을 사용하여 연산 추적을 멈출 수 있다. z = torch.matmul(x, w)+b print(z.requires_grad) # True with torch.no_grad(): z = torch.matmul(x, w)+b print(z.requires_grad) # False 동일한 결과를 얻는 다른 방법은 텐서에 detach() 메소드를 사용하는 것이다. z = torch.matmul(x,..
초거대 AI란 무엇인가? 초거대 AI(Hyper scale AI)란? 초거대 AI는 대량의 데이터를 슈퍼 컴퓨터를 활용해 매개변수를 늘려 AI에게 학습시키는 방식을 말한다. 초거대 AI가 주목을 받기 시작한 시점은 2020년 OpenAI에서 GPT-3가 공개되면서부터였다. 초거대 AI의 언어 능력 활용 사례 챗봇 구글의 LaMDA는 척하는 것이 가능한 챗봇이다. 명왕성 인척을 한다거나 비행기 인척을 해서 인간과 대화할 수 있다. 이 때문인지, 람다가 인지능력이 있다고 주장한 구글 직원이 해고되었던 사례가 있었다. META사는 BlenderBot3을 발표했고, 네이버는 하이퍼 클로바를 발표했다. 하이퍼 클로바는 한국어를 학습시켜서 한국어에 특화되어있고, 맥락을 이해하고 대화할 수 있다. 그러나 이런 기능들을 AI 스피커나 스마트폰..
Multi-Modal (멀티 모달) AI Multi-Modal AI는 무엇일까? 인류는 '사과'라는 개념을 이해하기 위해 시각, 미각, 촉각, 텍스트까지 여러 개념을 통합해서 인식을 한다. 그렇다면, AI는 어떻게 '사과'라는 개념을 받아들일까? 이왕이면 인간이 학습했던 방법으로 배워야 인간과 제대로 소통할 줄 아는 AI가 될 것이다. 그래서 등장한 것이 Multi Modality Modality는 어떤 형태로 나타나는 현상이나 그것을 받아들이는 방식을 말한다. 지금의 multi modal은 시각, 청각을 비롯한 여러 인터페이스를 통해서 정보를 주고받는 것을 말하는 개념이며, 이렇게 다양한 채널의 모달리티를 동시에 받아들여서 학습하고 사고하는 AI를 Multi Modal AI라고 한다. 쉽게 말하면, 인간이 사물을 받아들이는 다양한 방식과 동일..
Semantic segmentation에서 입력 데이터 전처리 하는 방법 Semantic segmentation이란? 이미지에 무엇이 있으며, 어디에 있는지 레이블링을 하는 것이다. Labeling을 하는 방법 입력으로 들어가는 RGB 이미지의 shape은 (H x W x 3)이다. 그리고 semantic segmentation model을 통과해서 나온 결과 이미지의 shape은 (H x W x 1)이다. 그래서 데이터 전처리를 하는 방법은? Semantic Segmentation 모델도 Supervised Learning을 하기 때문에, 입력으로 이미지와 그에 해당하는 segmented map을 넣어야 한다. Semgented map은 앞에서 설명했듯이 shape이 (H x W x 1)이다. 그리고 각 픽셀은 클래스를 나타낸다. Segmented map을 모델에 넣기 위해..
Convolutional Neural Networks 기초 CNN (Convolutional Neural Networks) 구조 Convolution(합성곱) Layer 이미지는 높이 x 너비 x 채널의 3차원 텐서로 표현될 수 있다. RGB 이미지의 경우, 채널은 3이 된다. Filter 하나의 합성곱 계층에는 입력 이미지의 채널 개수만큼 필터가 존재한다. 채널이 3이면 필터의 개수도 3이 되는 것이다. 각 채널에 할당된 필터를 적용함으로써 합성곱 계층의 출력 이미지가 생성된다. Stride 이미지에 필터를 적용할 때는 필터의 이동량을 의미하는 스트라이드를 설정해야 한다. 스트라이드가 1이면 필터가 1칸씩, 2이면 필터가 2칸씩 이동한다. 스트라이드 값이 커질수록 입력 이미지를 훑는 횟수가 적어지므로 결과 feature map의 크기는 작아진다. Padding..