티스토리 뷰

엔지니어링 관점으로 머신러닝을 보면 사실 그렇게 어렵지 않다. 물론 복잡하고 유용한 휴리스틱 기법들이 아주 많지만 추상화 수준이 엄청 올라가진 않는다. 다만 구현은 그만큼 복잡해진다.

그런데 베이즈 확률론 관점으로 머신러닝을 보면 뒤지게 어렵다. 예를들어 엔지니어링 관점에서는 l2 regularization이 그냥 overfitting을 막기 위한 수단일 뿐이지만 이게 베이즈 확률론 관점에서는 gaussian prior를 준 거다. 이걸 이해하느라 뒤지게 고생했다. prior, posterior, likelihood, 이런 단어가 나오면 그냥 좆됐다고 보면 된다. 복잡한 확률 관련 수식들이 아주 많은데 이게 실제 트레이닝이나 인퍼런스로 어떻게 연결되는지 감이 안 온다. 파이토치 코드가 어떤 모습이어야 할지 상상이 안 간다. 수식의 추상화 수준이 너무 높다.

variational autoencoder도, gaussian mixture도, diffusion도 모두 베이즈 확률론에 기반한 모형들이다. 열심히 수식을 공부했지만 솔직히 이해가 잘 안 간다. 하긴 사실 생각해보면 별로 열심히 한 것도 아니지. PRML을 읽으면서 기초부터 차근차근 공부하려 했는데 너무 어렵고 힘들고 진도가 안 나가서 금방 관뒀다.

웃긴건 정작 구현 자체는 별로 복잡하지 않다. 딱히 뒷받침하는 이론이 없는 resnet 같은 것도 구현은 상당히 복잡한데 베이즈 확률론 기반 모델은 구현에 그런 복잡한 코드가 필요없다. 다만 왜 그렇게 되는지 짐작할 수 없는 추상화 수준이 매우 높은 수식들이 있을 뿐이다.

웃긴건 수식을 죽어라 공부해봤자 실용적인 결과를 내는데는 별로 도움이 안 된다는 것이다. 실용적인 결과를 원한다면 어려운 베이즈 어쩌고 이론은 그냥 대충 느낌으로 컨셉만 이해하고 엔지니어링 관점에서 구현하면 된다. 그리고 각종 휴리스틱들 동원해서 반복 실험을 조지면 된다.

요새 이미지 생성모델 스테이트 오브 디 아트는 디퓨전이잖아? 왜 vae나 gan이 아니고 디퓨전인지 어차피 이론으로 설명 못한다. 그냥 디퓨전에 각종 휴리스틱 넣어서 실험해봤더니 잘되는걸 뭐 어쩌라고. 애초에 현실의 데이터가 이론으로 기술 불가능한데 이론으로 어떻게 설명해

이론 같은 거 해봤자 아무런 쓸모도 없다. 실무에서 필요한 역량은 따로있다. 이론은 존나 머리 좋고 먹고살 걱정 없는 애들이나 하는거지... 시발 내주제에 PRML 같은 거 공부해서 뭐하겠냐? 어차피 내 머리로는 그런 어려운 거 못 따라간다. 차라리 클린코드같은 책을 보거나 도커 사용법을 익히는게 도움이 될 것이다.

근데 어차피 PRML도 안보고 클린코드도 안보고 도커 사용법도 안익힘

저런 거 공부할때 찜찜한 점은 내가 확률론을 제대로 모른다는 것이다. 확률공간 나오고 시그마 알제브라 나오고 메저 나오는 그거 말이다. 확률론을 알아야 조건부 확률이 뭐고 확률변수의 독립이 뭐고 중심극한정리가 정확히 뭐고 (중심극한정리는 여러 버전이 있다) 큰 수의 법칙이 뭐고 베이즈 정리가 뭐고 마르코프 체인이 뭐고 하는 걸 좀 알 텐데. 확률론 모르고 머신러닝 이론 하는건 사상누각 아닌가? 근데 확률론은 머신러닝 이론보다 더 어렵잖아? 이런 식이면 배보다 배꼽이 더 큰거다.

내가 이렇게 말하지만 사실은 이론 공부할 계획 세우고있다. 어차피 안 지킬 계획이긴 하지만 도커 공부할 계획은 안세우면서 이론 공부할 계획은 세운다. 이게 다 허영심이 많아서 그렇다. 나는 우아하고 고귀한 이론을 해야 해! 도커같은 엔지니어링은 다른애들이 하겠지 ㅎㅎㅎ 시발 능력(=머리)도 안 따라주는데 이론은 무슨 이론이야

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함