본문 바로가기

카테고리 없음

Google ML - 1) ML 소개

[ Google - Peter Norvig ]

머신러닝 단기집중과정에 참여하시게 된 것을 환영합니다. 

 

이 과정은 여러분을 숙련된 머신러닝 전문가가 되기 위한 길로 안내하기 위해 제작되었습니다.

여기에서 배운 내용을 활용하면 소프트웨어 엔지니어로서 세 가지를 더 잘할 수 있을 것입니다.

 

먼저 프로그래밍 시간을 줄일 수 있는 도구를 얻게 됩니다.

맞춤법 오류를 수정하는 프로그램을 설계한다고 가정해보겠습니다.

다양한 예시와 경험을 활용해서 방법을 찾을 수 있을 겁니다.

예를 들면 C 뒤에 있을 때를 제외하고 E 앞에 I가 오는 경우를 잡습니다.

그렇게 몇 주 동안 열심히 일하면 쓸만한 프로그램이 나올 겁니다.

아니면 바로 쓸 수 있는 머신러닝 도구를 사용해서 몇 가지 예를 입력하면

짧은 시간에 더 안정적인 프로그램을 만들 수 있습니다.

 

두 번째로 제품을 맞춤설정하여 특정 집단의 사용자에게 더 잘 맞는 제품을 제공할 수 있습니다.

제가 직접 코드를 작성하여 영어 철자 교정 도구를 만들었다고 가정하겠습니다.

그리고 이 도구가 굉장히 성공해서 널리 쓰이는 100가지 언어로 버전을 만들게 되었다고 해보겠습니다.

그럼 각 언어마다 거의 처음부터 시작해야 할 겁니다. 그럼 이 작업에 몇 년이나 걸리겠죠.

하지만 머신러닝을 사용하여 만든 다음 먼저 유사한 언어로 넘어가면

그 언어로 된 데이터를 수집해서 똑같은 머신러닝 모델에 넣기만 하면 됩니다.

 

세 번째로 머신러닝을 사용하면 프로그래머로서 수동으로 할 방법이 없어 보이는 문제를 해결할 수 있습니다.

인간인 저는 친구들의 얼굴을 인식하고 친구들이 하는 말을 이해할 수 있습니다.

하지만 이런 일은 무의식적으로 하는 것이기 때문에 이를 프로그램으로 만들라고 하면 정말 당황스러울 것입니다.

하지만 이런 것은 머신러닝 알고리즘이 아주 잘 할 수 있는 작업입니다.

알고리즘에게 무엇을 하라고 명령할 필요 없이 알고리즘에게 수많은 예를 보여주기만 하면 문제가 해결됩니다.

 

이제 머신러닝을 숙지해야 하는 세 가지 실질적인 이유 외에 철학적인 이유도 있습니다.

머신러닝은 문제에 관해 생각하는 방법을 바꿉니다.

소프트웨어 엔지니어는 논리적이고 수학적으로 사고하도록 훈련을 받았습니다.

내 프로그램의 속성이 옳다는 것을 입증하기 위해 주장을 사용하죠.

머신러닝이 있으면 수리과학에서 자연과학으로 초점이 바뀝니다.

불확실한 세계를 관찰하고 실험을 하고 논리가 아닌 통계를 사용하여 실험 결과를 분석합니다.

과학자처럼 사고할 수 있는 능력을 갖추면 시야가 넓어지고 전에는 탐험할 수 없었던 새 영역이 펼쳐집니다.

 

그럼 그 여정을 즐기며 탐험하시기 바랍니다.