본문 바로가기

이론7

[풀스택 딥러닝] 2번째, 딥러닝 실험 관리 방법, Weights & Biases, W&B, wandb, 텐서보드 개발자 직군이라면 누구나 한번쯤 들어봤을 풀스택.대 AI 시대에 들어선 지금, 마침내 딥러닝도 풀스택이란 용어가 생겼다. 나도 AI는 모델만 잘 만들면 되는줄 알았다.하지만 실제로는 AI를 위한 부수적인 툴과 개념이 수없이 많이 생겼다.그리고 기업들도 점점 `풀스택 AI 엔지니어`를 선호하기 시작했다.(데이터 사이언티스트, 리서치 엔지니어도 마찬가지로 풀풀익선이다.) 그래서 Full Stack Deep Learning 이라는 유우명한 강의를 번역 의역하고자 한다.나에게도 도움이 되고, 딥러닝 입문자, 중급자에게도 도움이 되길 바란다. 이번 내용은 `딥러닝 실험 관리 방법` 이다.원문과 영상의 링크는 여기. 1. 실험 관리의 중요성딥러닝 모델 개발 과정은 단순히 코드 작성과 학습시키는 것을 넘어선다.특히.. 2025. 6. 22.
[풀스택 딥러닝] 1번째, 딥러닝 개발 인프라와 도구, 파이토치 라이트닝, 허깅페이스, ONNX, 분산 학습 DDP, ZeRO-3, 클라우드 비용, GPU 서버 구축 비용 개발자 직군이라면 누구나 한번쯤 들어봤을 풀스택.대 AI 시대에 들어선 지금, 마침내 딥러닝도 풀스택이란 용어가 생겼다. 나도 AI는 모델만 잘 만들면 되는줄 알았다.하지만 실제로는 AI를 위한 부수적인 툴과 개념이 수없이 많이 생겼다.그리고 기업들도 점점 `풀스택 AI 엔지니어`를 선호하기 시작했다.(데이터 사이언티스트, 리서치 엔지니어도 마찬가지로 풀풀익선이다.) 그래서 Full Stack Deep Learning 이라는 유우명한 강의를 번역 의역하고자 한다.나에게도 도움이 되고, 딥러닝 입문자, 중급자에게도 도움이 되길 바란다. 이번 내용은 `딥러닝 개발 인프라와 도구` 이다.원문과 영상의 링크는 여기. 1.딥러닝 개발먼저 프로그래밍 언어이다.딥러닝 개발에서 가장 많이 쓰이는 언어는 파이썬이다.라이.. 2025. 6. 16.
딥러닝 공부 순서 정리 (for CV, Computer Vision) 딥러닝을 처음 배우는 사람에게 길잡이가 되기 위한 글이다. 나는 딥러닝 석사 출신 데이터 사이언티스트다.내가 석사에 입학하고 그해 ChatGPT가 흥하기 시작했다.어떻게 보면 AI를 온전히 연구한 첫 석사인 셈이다. 하지만 내가 입학했던 3월에는 ChatGPT가 없었다.따라서 딥러닝 논문들을 어떤 순서로 공부해야하는지 막막했다.ChatGPT는 그때 당시 신생아에 불과했다.이런거 물어보면 2021년 전 논문만 알고 있었다. (ㄹㅇ 킹받) 그때 겪은 고통으로 나만의 아카이브와 공부 순서를 정리해놨다. 그리고 이걸 이 글에서 정리해서 포스팅 하려고 한다.뭐부터 해야할지 방황(?)하는 연구자들에게 힘이 되었으면 한다. 그리고 나의 주 연구 분야는 비전이다.따라서 이 글에서는 비전을 먼저 다룰 예정이다. 1. .. 2025. 6. 1.
FLOPs, #param, throughput 계산, 의미, 관계 딥러닝 모델 논문읙 실험이나 결과 부분에 꼭 나오는 것.FLOPs, #param, throughput 3가지 이다.그런데 나는 이걸 계산하지도 못하고 의미도 모르고 관계도 모른다.이번 포스팅에서 완벽히 정리하고 가자. 1. FLOPsFLOPs는 (Floating Point Operations)의 약자로,주로 모델의 계산 복잡성을 측정하는 데 사용된다.딥러닝 모델의 연산 중에 많은 것은 '부동 소수점 연산(FLOP)'이고이걸 몇번 하는지가 FLOPs다. FLOPs가 높다 = 연산량이 많다, 무겁다 FLOPs는 입력에 따라 크기가 변한다.따라서 단순히 파이썬 라이브러리 등으로 구하면 오류가 날 수 있다.공식을 알아두고 검산할 필요가 있다. [FLOPs 계산 공식 (CNN)]FLOPs = H × W × F ×.. 2024. 3. 19.
learning rate와 batch size 관계 딥러닝 모델로 학습을 하면서 가장 많이 겪는 문제점은 hyperparameter 문제다.learning rate와 epoch를 어떻게 결정하는지가 가장 문제다.이 문제는 어떤 천재에게 물어도 같은 답이 나온다."노가다 말곤 방법이 없어요."오늘은 그중에서 먼저 learning rate에 대하여 고찰해보자. 일단 간단하게 설명하면 epoch와 batch size를 고정한뒤,위 그래프를 참고해서 적절한 good learning rate를 찾으면 된다.그래프를 다 그려가며 비교해보고 좋은 learning rate를 고르자. 즉 learning rate를 x1, x2, x4, x1/2, x1/4 로 학습하며 loss를 그린 뒤에위 그림을 참고하며 learning rate를 고르면 된다.CNN이나 작은 데이터셋을.. 2023. 11. 7.
옵티마이저(Optimizer) 설명, 의미, 고찰 - SGD? Adam? 딥러닝을 배우면서 optimizer에 대하여 한번쯤은 듣게 될거다. 하지만 이게 정확히 뭔지 모르고 그냥 대충 Adam을 사용하면 된다~ 정도로 알고 있을거다. 그게 맞다....(?) 물론 초급적인 과정에서는 그게 맞다. 하지만 조금만 깊이 가면, transformer 까지만 가면 반드시 차이를 알아야 한다. 딥러닝에서는 다양한 알고리즘을 사용한다. 그리고 이 다양한 알고리즘에서 파생된 여러가지 종류의 레이어가 있다. 가장 대표적인 것이 다음 3가지다. 활성화 함수, 손실 함수, 최적화 함수 이 세가지는 정확하게 이해해야한다. 안그러면 서로 헷갈리기도 하고 자꾸 찝찝한 마음이 들거다. 여기서 최적화 함수가 다른말로 옵티마이저. optimizer 이다. 정의 옵티마이저를 한줄로 정의하면 '최소의 loss로.. 2023. 10. 12.
오차 역전파(back propagation) 설명, 의미, 고찰 정의 오차 역전파(Backpropagation)는 인공 신경망에서 가중치를 조정하여 출력을 원하는 결과에 가깝게 만들기 위해 사용되는 알고리즘. 쉽게 설명해주겠다. 신경망은 일종의 함수라고 볼 수 있다. 이 함수의 가중치(w1, w2, w3)는 학습을 할 수록 업데이트 된다. 가중치 업데이트를 어떻게 할 것인가에 대한 알고리즘이 back propagation이다. 아래 딥러닝의 전체 과정에서 보면 어디에 위치한 과정인지 볼 수 있다. (인풋 입력 -> 네트워크 통과 -> 출력 -> 손실함수 계산 -> !오차 역전파! -> 가중치 업데이트) -> 처음부터 반복 오차 역전파를 잘 하는법 오차 역전파를 잘 하려면 다음과 같은 조건을 만족하면 된다. 1. 오차를 잘 구한다. 2. 경사 하강법을 이용해 직전 가중.. 2023. 9. 18.