본문 바로가기

딥러닝 기초6

[김기현의 딥러닝을 활용한 자연어처리] 딥러닝 환경 구축 "김기현의 딥러닝을 활용한 자연어처리"를 보면서 딥러닝을 시작하기 전 알았으면 좋았을 내용을 정리해보았음 딥러닝 환경 구축 관련 아나콘다 설치 - 아나콘다 설치 시 "Add Anaconda3 to my PATH environment variable" 체크 Visual Studio Code(VSCode) - VSCode는 파이썬 코드를 짜고 디버그를 쉽게 할 수 있는 통합 개발 환경(Integrated Development Environment: IDE) - GPU가 설치된 고성능 리눅스 서버를 두고, 원격 개발 환경을 구성하고자 하면 "Remote SSH" 플러그인을 설치하면 편리 (이 플러그인을 통해 원격 서버 상에서 직접 코드를 편집하고 실행 및 디버깅을 진행할 수 있으며, 로컬 소스 코드와 원격 소.. 2023. 5. 11.
[밑바닥부터 시작하는 딥러닝] 최적화 최적화(optimization) - 신경망 학습의 목적은 손실 함수의 값을 가능한 작게 만드는 매개변수를 찾는 것으로, 이를 '최적화'라고 함. - 앞에서 최적의 매개변수 값을 찾기 위해 매개변수의 기울기를 구해 기울어진 방향으로 매개변수 값을 업데이트 하였으며, 이를 '확률적 경사 하강법(SGD)'이라고 하였음. - 이와 같은 SGD는 단순하고 구현이 쉽지만 탐색 경로가 비효율적일 때가 있음. SGD의 단점을 보완한 최적화 방법: 모멘텀, AdaGrad, Adam - 모멘텀: SGD와 비교하면 최적화하는 과정에서 '지그재그 정도'가 덜해 효율적으로 최적값을 찾는다고 할 수 있음. - AdaGrad: 학습률이 처음에는 크다가 점점 작아지는 방법임. - Adam: 모멘텀과 AdaGrad의 두 기법을 융합한.. 2022. 10. 8.
[밑바닥부터 시작하는 딥러닝] 오차역전파 이전의 글에서 신경망의 가중치는 수치 미분을 사용해서 구했습니다. 수치 미분은 단순하고 구현하기도 쉽지만 계산하는 데 시간이 오래 걸린다는 단점이 있어 이번에는 효율적으로 계산하는 방법인 '오차역전파'에 대해서 알아보겠습니다. 계산 그래프 - 계산 그래프는 계산 과정을 그래프로 나타낸 것으로 복수의 노드(node)와 에지(edfge)로 표현됩니다. - 참고로 노드 사이의 직선을 에지라고 합니다. - 계산 그래프를 사용하는 이유는 전체 그래프가 복잡하더라도 각 노드에서는 단순한 계산에 집중하여 문제를 단순화할 수 있기 때문입니다. - 이외에도 계산 그래프를 사용하는 가장 큰 이유로는 역전파를 통해 미분을 효율적으로 계산할 수 있기 때문입니다. 계산 그래프 예시 - 아래의 [그림 1]에서 역전파는 오른쪽에서.. 2022. 9. 22.
[밑바닥부터 시작하는 딥러닝] 신경망에서 학습 신경망에서 학습 - 신경망에서 데이터를 학습한다는 것은 가중치 매개변수의 값을 데이터를 보고 자동으로 결정한다는 것을 의미함. - 그 방법으로 데이터에서 특징(features)을 추출하고, 그 특징의 패턴을 기계학습 기술로 학습할 수 있음. ex) 데이터를 보고 사람이 직접 중요한 특징을 추출하고, SVM, KNN과 같은 기계학습 기법으로 학습시킴. - 딥러닝에서는 기계(컴퓨터)가 데이터를 '있는 그대로' 학습하며, 이는 데이터의 중요한 특징까지 기계가 스스로 학습한다는 것을 의미함. 훈련 데이터(training data)와 시험 데이터(test data) - 기계학습 문제는 데이터를 훈련 데이터와 시험 데이터로 나눠 학습과 실험을 수행함. - 훈련 데이터만 사용하여 학습하면서 최적의 매개변수를 찾고, .. 2022. 9. 18.