● 입문은 대개 딥러닝
- 나처럼 통계나 산업공학을 전공하지 않았는데 필요에 의해 AI라는 분야에 발을 들인 사람의 입문은 대개 딥러닝이다.
- 뭔지 몰라도 AI를 하려면 딥러닝을 해야 할 것 같고,
- 공부를 하려고 해도 딥러닝 강좌와 책이 먼저 눈에 띈다.
- 도입 부분에 scikit-learn 머신러닝을 배우기도 하지만 딥러닝으로 가기 위한 중간 다리로 여겨진다.
- TensorFlow로 손글씨 숫자 그림 맞추기인 MNIST 코딩을 따라 쳤을 때 돌아가면 매우 뿌듯하다.
● 현실은 정형 데이터
- 분야에 따라 다르겠지만 이미지 데이터로 딥러닝을 하는 분이 가장 많이 보인다.
- 설비 부품에 발생한 결함을 찾거나 기상 사진을 가지고 날씨 예측을 하거나 등등.
- 하지만 내가 몸담은 곳에서 내게 보내오는 데이터는 입사 5년째인 아직까지 100% 정형 데이터.
- 정형 데이터라고 부르면 뭔가 있어 보이지만, 그냥 행과 열로 이루어진 엑셀 파일이다.
- 분량도 적다. 빅데이터(!)라는 말은 많이 들어도 본 적은 없다. 오죽하면 이런 말이 있을까 (https://bit.ly/3QGfl7y)
● 딥러닝의 장점
- 지난 몇년간 딥러닝은 매우 쉬워졌다.
- 고전 통계와 머신러닝처럼 이게 맞네 틀리네 하며 검증에 열을 올리지 않는 분위기가 느껴지기도 하지만,
- github에 공개된 수많은 모델과 코드로 인해 딥러닝이 머신러닝보다 더 쉽게 느껴진다.
- Google Cloud나 Microsoft의 Azure, Amazon의 AWS 등을 사용하면 앱이나 웹 어플리케이션으로 만들기도 쉽다.
- 내 데이터가 적다는 이유로 이 장점들을 버리기엔 너무 아쉽지만,
- 딥러닝이 잘나간다고 무작정 적용하자니 small data와 deep learning의 형용모순이 너무 불편하다.
- 궁리 끝에 나름의 방법(pipeline 구축, scikit-learn과 pytorch 혼용)을 찾았지만 최선인지 불안하다.
● 전문가의 식견
- 불안할 때는 전문가의 의견을 묻는게 안전하다.
- 때마침 적절한 책이 나온 듯 해서 예약구매를 했고, 받자마자 실습이 필요한 코드만 빼고 읽어버렸다.
- 수학과 컴퓨터과학을 전공하고 보험사에서 정형 데이터를 다루는 저자의 경험과
- MLOps에서 맹활약중인 역자의 번역은 책의 내용에 대한 의심은 접어두게 만든다.
- 저자들은 엑셀 파일처럼 생긴 정형 데이터를 딥러닝에 넣는 과정을 보여주며 의심섞인 질문에 답한다.
- "저도 딥러닝해도 될까요?"
● 1. 절반의 실망(?)
- 이 책에서 저자가 정형 데이터를 말하고는 있지만 작아도 된다고 말하지는 않는다.
"(이 책의 예시로 사용된 데이터처럼) 수만 개로 구성된 데이터셋이라면, 딥러닝이 불가능할 정도로 작지도 않지만 전혀 문제가 없다고 보장할 정도로 큰 것도 아닙니다. 여러분의 문제에 딥러닝의 적용 가능성을 확실히 알 수 있는 유일한 방법은 일단 시도를 하고 성능을 살펴보는 것입니다."
- 딥러닝이건 머신러닝이건 통계건, 문제와 목적에 맞는 데이터가 마련되어야 한다.
- 결국 풀고자 하는 문제를 정확히 정의해야 하고, 여기에 맞는 모델이 어떤 것들이 있는지 알아야 한다.
- "(통계, 선형회귀, 트리, 딥러닝) 이 모델들을 다 배워야 하나요?"라는 질문을 종종 받는데, 답은 당연히 "네"다.
- 딥러닝밖에 할 줄 몰라서 딥러닝만 쓰는 사람은 어두운 골목에서 열쇠를 잃어버리고 등불 아래만 찾는 사람과 같다.
- "밝은 데가 여기밖에 없잖아요" 라면서.
● 2. 절반의 안도
- 정형 데이터에 있는 범주형 데이터를 변환하기 위해서,
- 데이터 누출을 방지하고 일관성 있는 흐름을 유지하기 위해서 저자는 scikit-learn의 Pipeline을 가져온다.
- 처음 접했을 때 이거 필요도 없어보이는데 왜 이렇게 복잡하지? 라는 생각을 했지만
- 경험이 조금씩 쌓이면서 Pipeline을 쓰지 않았을 때 겪는 수많은 오류들.
- 그나마도 혹시나 싶어 점검해보지 않았다면 오류가 난 줄도 몰랐던 오류들을 겪으면서 Pipeline을 반드시 만든다.
- "내가 좀 매니악한걸까" 싶은 생각이 없지도 않았지만 내가 맞다는 생각에 안도감이 든다.
● 3. 검수는 확실히
- 이미지 데이터를 다룰 때는 그다지 중요하게 언급되지 않지만 정형 데이터엔 필수적인 요소가 있다.
- 바로 데이터 검수.
- 내 손에 들어온 데이터가 앞뒤가 맞는지 상당히 자세하게 살펴볼 수 있고, 이 과정을 소홀히 하면 성능이 크게 저하된다.
- 저자도 처음에 데이터를 샅샅이 훑으며 잘못된 것을 모두 바로잡은 뒤에 모델을 만든다.
- 여기서 진이 빠진다면 정상이다. 여기서 체력이 남는다면 둘 중 하나다. 운이 좋거나 대충 했거나.
● 갈증이 채워졌다.
- 스스로의 생각이 전문가와 일치할 때 안도감과 뿌듯함을 얻는다.
- 마침 400개밖에 안되는 데이터에 부득이하게 딥러닝을 적용하던 터라 불안감이 많았다.
- 그래서 이리저리 체크하는 한편, 예약까지 해가며 책을 구매했는데 의구심이 상당 부분 해소되었다.
- 충전한 자신감을 내 데이터와 모델에 쏟으러 가야겠다.
'책읽기' 카테고리의 다른 글
[혼자 공부하는 머신러닝+딥러닝, 파이썬](혼공머신: 박해선 著, 혼공파: 윤인성 著, 2021) (2) | 2022.10.01 |
---|---|
[개발자를 위한 머신러닝&딥러닝](로런스 모로니 著, 박해선 驛, 2022) (0) | 2022.09.30 |
[사례 분석으로 배우는 데이터 시각화](황재진, 윤영진 著, 2022) (0) | 2022.06.12 |
[엑셀 대신 파이썬으로 업무 자동화하기](포스코 인재창조원 著, 2022) (0) | 2022.05.23 |
[최고의 부모들은 아이를 어떻게 키웠을까](김정진 著, 2018) (0) | 2022.04.11 |