2017.06.01

인터뷰 | 데이빗 마이어에게 듣는 머신러닝과 네트워크와 보안

Christine Heckart | Network World

네트워킹 분야에서 머신러닝은 자동화 못지 않은 인기 주제다. 네트워킹 분야의 많은 머신러닝 애플리케이션이 아직은 여러 해 뒤의 이야기이지만, 가능성 면에서는 10여 년에 한 번씩 등장해 네트워크의 동작 방식을 근본적으로 바꿔 놓는 몇 안되는 기술 중의 하나가 될 가능성이 있다.

결국 아마존이나 애플, 페이스북, 구글, 바이두 등의 선도 업체는 이미 머신러닝을 이용해 자사 제품과 비즈니스 프로세스를 바꾸고 있다. 희망적인 것은, 기술이 성숙하면 이들 내부적인 연구 작업의 많은 수가 공급업체의 시스템과 클라우드 내부 깊숙이 배어든다는 것이다. 물론 곧 초기 머신러닝 애플리케이션이나 실험을 지원할 방법을 찾아나서는 기업도 있을 것이다.

이런 점에서 필자는 지금이 업계 최고의 머신러닝 전문가 중 한 사람인 데이빗 마이어와 질의 응답을 하기에 적절한 시기라고 생각했다. 마이어는 지난 4년 동안 머신러닝을 네트워킹과 보안 분야의 복잡한 문제를 해결하는 데 어떻게 이용할지를 연구했다.

Q. 머신러닝이란 무엇인가?
전통적인 프로그래밍에서는 프로그래머가 결과물을 생성하기 위한 규칙을 세운다. 머신러닝에서는 프로그래머가 데이터와 지도 학습(Supervised Learning) 같은 기준 결과물을 제공하고, 소프트웨어의 역할은 규칙을 배우는 것이다.



머신러닝 소프트웨어는 특정 입력에 대한 기준 결과물을 생성하는 프로세스를 발견하기 위한 탐사 과정을 통해 학습한다. 훈련용 입력 데이터와 결과물은 해당 모델의 예측 정확성을 결정한다. 이 훈련 단계를 거치면 학습을 한 소프트웨어는 추론할 준비를 마친 것이다. 새로운 입력 데이터가 주어지면, 학습된 모델은 이제 예상 결과물을 추론한다. 온라인 시스템처럼 소프트웨어가 계속 학습을 진행하는 경우도 있다.

Q. 오늘날 머신러닝을 활용하는 예를 들어 달라.
우리가 일상적으로 사용하는 머신러닝 소프트웨어로는 검색엔진이 있다. 검색엔진은 내부 알고리즘을 기반으로 지속적인 온라인 학습을 통해 검색 결과를 개선한다. 이런 학습에는 클릭과 같은 과거 경험뿐만 아니라 보통은 검색엔진에 맞춰 정의된 성과를 기반으로 하는 대규모의 추가 요소가 포함된다. 광고 매출이 대표적인 예다.

애플 시리나 아마존 알렉사 제품 사용자는 눈치 챘겠지만, 여기에 더해 디바이스가 사용자의 특정 선호도에 대한 지식을 확보하면 시간이 지날수록 개인화된 결과는 더 향상된다.

Q. 머신러닝 소프트웨어는 어디에서 실행하는가?
머신러닝 소프트웨어를 구동하는 옵션 중 하나가 클라우드이다. 구글의 검색엔진, 애플 시리, 아마존 알렉사도 클라우드를 이용한다. 또 다른 옵션으로는 학습된 머신러닝 프로그램을 전통적인 인프라 환경에서 구동하는 것이다. 이 경우 소프트웨어는 더 이상 학습을 하지 못하지만, 사용자는 기존 학습을 기반으로 한 추론을 이용할 수 있다.

기록된 텍스트를 읽기 위한 광학문자인식(Optical Character Recognition, OCR) 기능과 음성 단어를 듣기 위한 자연어 처리 기능이 오늘날 전통적인 소프트웨어 패키지에서 볼 수 있는 예다. 이 두 가지 접근법 모두의 이점은 머신러닝 소프트웨어를 구동해야 하는 로컬 컴퓨팅 자원 없이 지능에 대한 액세스를 제공할 수 있다는 것이다.

Q. 기본적인 원칙으로 입력값과 출력값을 매핑하면, 머신러닝을 네트워킹에 적용할 수 있는가?
머신러닝의 이점은 아주 복잡한 현실 문제에 도전할 수 있다는 것이다. 건강 문제를 진단하는 머신러닝 시스템이 어떻게 점점 더 정확한 진단을 내리는지 들어봤을 것이다. 이는 매우 규모가 큰 환자 그룹의 데이터를 사용해 시스템을 학습시킬 수 있기 때문이다. 예를 들어, 뇌졸중을 겪은 환자와 그렇지 않은 환자의 데이터를 주고 소프트웨어가 이 둘을 구분하는 방법을 배우게 하는 것이다.

같은 종류의 시나리오를 네트워킹에도 적용할 수 있다. 대량의 검증된 입력값과 출력값을 사용하면, 머신러닝이 어떤 일이 일어날지 예상하는 데 도움을 줄 수 있다. 머신러닝은 수집된 데이터의 구조를 분석해 네트워크 관리자가 알지 못했던 패턴을 찾아낼 수 있다. 이런 역량은 숫자로 설명할 수 있는 문제보다 훨씬 더 넓은 범위의 네트워킹 및 보안 문제를 해결할 수 있다.

Q. 네트워킹의 어디에 머신러닝을 적용할 수 있는가?
우리는 머신러닝을 네트워크에 적용해 우리가 관장하는 데이터세트를 생성하는 프로세스를 이해하도록 할 것이다. 이를 통해 이벤트를 분류하고 이전에는 알려지지 않은 다양한 종류의 네트워크 및 보안 이벤트를 예측하고 대응하도록 할 것이다.




2017.06.01

인터뷰 | 데이빗 마이어에게 듣는 머신러닝과 네트워크와 보안

Christine Heckart | Network World

네트워킹 분야에서 머신러닝은 자동화 못지 않은 인기 주제다. 네트워킹 분야의 많은 머신러닝 애플리케이션이 아직은 여러 해 뒤의 이야기이지만, 가능성 면에서는 10여 년에 한 번씩 등장해 네트워크의 동작 방식을 근본적으로 바꿔 놓는 몇 안되는 기술 중의 하나가 될 가능성이 있다.

결국 아마존이나 애플, 페이스북, 구글, 바이두 등의 선도 업체는 이미 머신러닝을 이용해 자사 제품과 비즈니스 프로세스를 바꾸고 있다. 희망적인 것은, 기술이 성숙하면 이들 내부적인 연구 작업의 많은 수가 공급업체의 시스템과 클라우드 내부 깊숙이 배어든다는 것이다. 물론 곧 초기 머신러닝 애플리케이션이나 실험을 지원할 방법을 찾아나서는 기업도 있을 것이다.

이런 점에서 필자는 지금이 업계 최고의 머신러닝 전문가 중 한 사람인 데이빗 마이어와 질의 응답을 하기에 적절한 시기라고 생각했다. 마이어는 지난 4년 동안 머신러닝을 네트워킹과 보안 분야의 복잡한 문제를 해결하는 데 어떻게 이용할지를 연구했다.

Q. 머신러닝이란 무엇인가?
전통적인 프로그래밍에서는 프로그래머가 결과물을 생성하기 위한 규칙을 세운다. 머신러닝에서는 프로그래머가 데이터와 지도 학습(Supervised Learning) 같은 기준 결과물을 제공하고, 소프트웨어의 역할은 규칙을 배우는 것이다.



머신러닝 소프트웨어는 특정 입력에 대한 기준 결과물을 생성하는 프로세스를 발견하기 위한 탐사 과정을 통해 학습한다. 훈련용 입력 데이터와 결과물은 해당 모델의 예측 정확성을 결정한다. 이 훈련 단계를 거치면 학습을 한 소프트웨어는 추론할 준비를 마친 것이다. 새로운 입력 데이터가 주어지면, 학습된 모델은 이제 예상 결과물을 추론한다. 온라인 시스템처럼 소프트웨어가 계속 학습을 진행하는 경우도 있다.

Q. 오늘날 머신러닝을 활용하는 예를 들어 달라.
우리가 일상적으로 사용하는 머신러닝 소프트웨어로는 검색엔진이 있다. 검색엔진은 내부 알고리즘을 기반으로 지속적인 온라인 학습을 통해 검색 결과를 개선한다. 이런 학습에는 클릭과 같은 과거 경험뿐만 아니라 보통은 검색엔진에 맞춰 정의된 성과를 기반으로 하는 대규모의 추가 요소가 포함된다. 광고 매출이 대표적인 예다.

애플 시리나 아마존 알렉사 제품 사용자는 눈치 챘겠지만, 여기에 더해 디바이스가 사용자의 특정 선호도에 대한 지식을 확보하면 시간이 지날수록 개인화된 결과는 더 향상된다.

Q. 머신러닝 소프트웨어는 어디에서 실행하는가?
머신러닝 소프트웨어를 구동하는 옵션 중 하나가 클라우드이다. 구글의 검색엔진, 애플 시리, 아마존 알렉사도 클라우드를 이용한다. 또 다른 옵션으로는 학습된 머신러닝 프로그램을 전통적인 인프라 환경에서 구동하는 것이다. 이 경우 소프트웨어는 더 이상 학습을 하지 못하지만, 사용자는 기존 학습을 기반으로 한 추론을 이용할 수 있다.

기록된 텍스트를 읽기 위한 광학문자인식(Optical Character Recognition, OCR) 기능과 음성 단어를 듣기 위한 자연어 처리 기능이 오늘날 전통적인 소프트웨어 패키지에서 볼 수 있는 예다. 이 두 가지 접근법 모두의 이점은 머신러닝 소프트웨어를 구동해야 하는 로컬 컴퓨팅 자원 없이 지능에 대한 액세스를 제공할 수 있다는 것이다.

Q. 기본적인 원칙으로 입력값과 출력값을 매핑하면, 머신러닝을 네트워킹에 적용할 수 있는가?
머신러닝의 이점은 아주 복잡한 현실 문제에 도전할 수 있다는 것이다. 건강 문제를 진단하는 머신러닝 시스템이 어떻게 점점 더 정확한 진단을 내리는지 들어봤을 것이다. 이는 매우 규모가 큰 환자 그룹의 데이터를 사용해 시스템을 학습시킬 수 있기 때문이다. 예를 들어, 뇌졸중을 겪은 환자와 그렇지 않은 환자의 데이터를 주고 소프트웨어가 이 둘을 구분하는 방법을 배우게 하는 것이다.

같은 종류의 시나리오를 네트워킹에도 적용할 수 있다. 대량의 검증된 입력값과 출력값을 사용하면, 머신러닝이 어떤 일이 일어날지 예상하는 데 도움을 줄 수 있다. 머신러닝은 수집된 데이터의 구조를 분석해 네트워크 관리자가 알지 못했던 패턴을 찾아낼 수 있다. 이런 역량은 숫자로 설명할 수 있는 문제보다 훨씬 더 넓은 범위의 네트워킹 및 보안 문제를 해결할 수 있다.

Q. 네트워킹의 어디에 머신러닝을 적용할 수 있는가?
우리는 머신러닝을 네트워크에 적용해 우리가 관장하는 데이터세트를 생성하는 프로세스를 이해하도록 할 것이다. 이를 통해 이벤트를 분류하고 이전에는 알려지지 않은 다양한 종류의 네트워크 및 보안 이벤트를 예측하고 대응하도록 할 것이다.


X