본문 바로가기

책 리뷰,서평

<머신러닝 파워드 애플리케이션> 리뷰

저는 영상 번역 일을 했었는데, 당시 사용하던 번역 툴들이 너무 불편했습니다. 

산업 번역 쪽에서는 이미 번역한 단어, 문장이라면 '번역 메모리'에 저장되어, 다음에 똑같은 단어나 문장이 나온다면 이미 번역했던 것을 그대로 옮겨쓸 수 있다던데, 영상 번역 툴에는 그런 기능도 없었거든요.

그래서 저는 '영상 번역가들이 쉽게 번역할 수 있는 툴'을 만들고 싶었고, 구체적인 형태로는 번역할 문장 칸에

이런 식으로 추천 문장이 뜨고,

숫자 키 1을 누르면 '감사합니다' 가 자동 입력되는 방식을 생각했습니다.

하지만 개발을 고작 몇 개월 배운 당시에는 구현 가능한 정도가 아니라고 생각했고, 

생각은 꿈으로만 그치고 맙니다.


그 생각도 잊혀져 갈 즈음, 이 책을 만났습니다.

<머신러닝 파워드 어플리케이션>은 아이디어에서 완성된 제품까지, 강력한 머신러닝 애플리케이션을 구축하는 과정을 다룹니다. 

구체적인 예시로는, 인터넷 커뮤니티에 질문을 올릴 때 좋은 답변을 받을 수 있도록
작성자의 질문 텍스트를 더 좋은 답변으로 수정할 수 있도록 조언을 제시하는 애플리케이션을 만듭니다.

- 문자 개수 높이세요
- 어휘 다양성 높이세요
- 쉼표 빈도 높이세요
- 부사 빈도 높이세요 

같이 말입니다.

책은 위 기능을 하는 머신러닝 애플리케이션을 만들기 위해서 거쳐야 하는 과정을 어렵지 않게, 차근차근 설명해나갑니다. 

먼저 제품의 목표를 머신러닝 문제로 표현하기 위해 제품을 설계하는 방법과,
이를 간단하게 시작할 수 있도록 여러 가지 조언을 제시합니다.

다음으로는 초기 프로토타입을 제작하는 방식을 설명하며 이를 평가하는 방법까지 설명합니다.

이어서 데이터셋을 준비하는 방법, 데이터셋을 탐색하고 특성을 생성하는 법을 다루고,

모델을 반복 훈련하며 평가하고 상황에 따라 어떤 모델이 알맞은지, 모델 배포 시 고려할 사항은 무엇인지에 대한 내용으로 구성됩니다.

페이지가 진전됨에 따라, 책에 소개된 '글쓰기 추천 모델'도 점점 개선됩니다. 책을 읽으면서 '나도 할 수 있겠다'란 생각이 들고, 어서 데이터셋을 모으고 코드를 따라 치고 싶어서 손이 간질간질했습니다.

수년간 머신러닝 기반 제품을 만들고, 2년간 데이터 과학자와 머신러닝 엔지니어들에게 멘토링을 해온 저자인 만큼,
머신러닝 모델을 만들고 훈련시키는데에 있어 간과해서는 안될 팁이 책 사이사이에 가득합니다. 

놓치면 안 되겠다 싶은 항목마다 밑줄을 그으며 읽었는데, 밑줄을 안 그은 페이지가 없을 정도였네요..! ㅎㅎ 

몇 가지 꼽아서 옮겨보자면, 

  • 제품에 도움이 되는 모델을 만들어야 한다는 것. 모델의 성공 지표와 프로젝트의 성공 지표를 일치시킬 것. 
  • 머신러닝을 시작할 때 처음 만드는 모델은 제품의 요구 사항에 맞는 가장 간단한 모델일 것
  • 가능한 한 케라스나 싸이킷런 같이 잘 알려진 라이브러리의 모델, 튜토리얼에 많이 사용되고 도움을 얻을 수 있는 모델로 빠르게 모델을 구현할 것
  • 프로젝트를 시작할 때 기업의 테라바이트급 데이터를 사용하기보단 먼저 로컬 컴퓨터의 메모리에 맞는 샘플로 시작할 것
  • 유용한 공개 데이터셋 페이지들(인터넷 아카이브, r/datasets, 캐글 데이터셋 페이지, 구글 데이터셋 검색, 커먼 크롤 등)
  • 모델링 결정을 내리는 데 테스트 세트의 성능을 사용하지 말 것 (모델의 성능이 과대평가될 위험이 있음)
  • 책에서 다루는 글쓰기 추천 모델의 경우, 한 명의 작성자는 학습 세트/검증 세트/테스트 세트 중 하나에만 속하게 데이터셋을 분할할 것 (GroupShuffleSplit 사용)

등이 있습니다.

 

또한 이 책이 좋았던 이유 중의 하나는, 데이터에 대한 편향의 위험성을 여러 차례에 걸쳐 설명하고 이를 피할 수 있는 방법을 제시하기 때문입니다. 

아마존 채용 AI는 왜 남성을 우대했나

AI 판단, 다시 고려해 봐야 하는 이유...다양한 AI 편향성 논란

지난 10월 아마존은 2014년부터 비밀리에 개발해온 인공지능(AI) 채용 시스템을 폐기했다고 밝혔다. 프로그램을 테스트해 본 결과 여성차별 문제가 나타나 자체 폐기한 것이다.

문제는 개발한지 약 1년이 지난 2015년에 불거졌다. AI가 경력 10년 이상 남성 지원자 서류만 고용할 후보로 제시하기 시작한 것이다. 심지어 ‘여성’이라는 단어가 들어가기만 해도 감점요소로 분류했다.

 

위 사례에서 보듯이 AI는 인간의 편견이 그대로 담긴 데이터셋을 학습하며 편견을 배웁니다. 

책에서는

- 전이 학습이 편향을 유발할 수 있다는 것(데이터셋을 주의 깊게 정제하더라도, 위키백과 전체에서 사전 훈련된 모델을 사용한다면 성별 편향이 그대로 옮겨질 수 있다는 것)

- 편향된 데이터셋은 편향된 머신러닝 모델을 만든다는 것

- 이런 데이터셋에서 훈련된 편향된 머신러닝 모델은 재앙에 가까운 결과를 만들 수 있다는 것

을 지적하는데 그치지 않고, 

'모델의 공정성을 위해 Fairness Constraints: Mechanisms for Fair Classification 논문에서 소개된 p% 규칙을 사용하여 편향을 정량화하고, 모델이 편향되지 않도록 특성을 계속 살펴야 한다'라는 해결책을 제시하는 점이 흥미로웠습니다.

다음에 머신러닝 모델을 만들 때 해당 논문을 참고하고 p% 규칙을 사용해 봐야겠습니다. 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."