Home

[Docker] 기본 Command

General Command Docker 버전 확인 docker --version Docker의 정보 확인(Container, Image의 개수, 저장소 세부사항 등) docker info Docker의 Command와 옵션 확인 docker help Docker Image 관련 Command Local Machine에 있는 모든 Image 리스트 확인 docker image Docker Hub이나 다른 저장소에서 이미지 불러오기 ...

Read more

[Docker] 기본 개념

가상화 개발 시에는 주로 운영 서버가 아닌 Local에서 개발을 한다. 이 때, 개발을 진행한 Local서버와 Production 서버의 OS가 다를 경우 라이브러리 등을 설치할 때 다르게 진행을 해야 하고, 또한 OS가 같더라도 Local과 Production의 환경 변수 차이로 인해 제대로 동작하지 않을 수 있다. 이러한 문제를 해결하기 위해 README 등에 환경 설정을 기록하고 실행하지만, 이는 사람이 직접 수행해야 하므로 에러가 발생하기 쉽고, 여러 서버에서 반복해야 하는 번거로움이 있다. 이를 위해 가상화를 진행한다. 가상화란 서버환경까지 모두 한번에 소프트웨어화하여 어디서든 동일한 환경이...

Read more

[DL Basic] 정규화(Regularization)

정규화(Regularization, 규제화) 이전에 신경망을 학습 할 때, 좋은 위치에서 시작하는 가중치 초기화에 대하여 알아보았다. 이와 더불어 최적해로 가는 길을 잘 찾을 수 있도록 해주는 정규화에 대해 알아보려 한다. 정규화란 최적화 과정에서 최적해를 잘 찾도록 정보를 추가하는 기법으로, 성능을 개선할 수 있는 포괄적인 기법들을 포함한다. 여기서 성능이 좋다는 것은 일반화가 잘 되었다는 것으로 훈련 성능과 검증/테스트 성능의 차이를 나타내는 일반화 오류가 적다는 것이다. 정규화의 접근 방식 모델을 최대한 단순하게 만들기 복잡한 모델의 파라미터 수를 줄이거나, 파라미...

Read more

[자료구조] 스택(Stack)과 큐(Queue)

스택(Stack) 스택(Stack)이란 스택은 이름 그대로 차곡차곡 쌓아 올린 형태의 자료 구조를 나타낸다. 스택의 특징 스택은 기본적으로 push 작업과 pop 작업이 있다. push는 새로운 데이터를 스택에 삽입하는 것이고, pop은 스택의 자료를 삭제하는 것이다. push와 pop 작업은 스택의 맨 위에서만 수행되고, 이 스택의 맨 위를 top이라 부른다. 즉, 가장 늦게 들어온 자료가 가장 먼저 삭제되는 후입 선출(LIFO, Last-In-First-Out)의 구조를 가진다. 이 push와 pop 작업은 스택의 top에서만 이루어지기에 O(1)의 시간 ...

Read more

[DL Basic] 배치 정규화(Batch Normalization)

배치 정규화 신경망의 학습이 어려운 이유 중 하나는 계층을 지날 때마다 데이터의 분포가 보이지 않는 요인에 의해 왜곡되기 때문이다. 이런 현상을 내부 공변량 변화라고 한다. 그리고 분포를 결정하는 보이지 않는 요인을 내부 공변량이라 한다. 이 내부 공변량이 계층을 지나면서 바뀌어서 각 계층에서 데이터의 분포가 원래 분포에서 조금씩 멀어지게 되고, 이는 계층을 지날 때마다 심해진다. 기존의 내부 공변량 변화를 막기 위해서 가중치 초기화를 잘하고, 학습률도 작게 사용해야 했다. 하지만 이 경우에는 학습 속도가 느린 문제가 있다. 이 내부 공변량 변화를 해결하기 위한 것이 배치 정규화이다. 배...

Read more