분류 전체보기 1230

L2 Regularization

머신러닝 모델 학습에서 일어나는 오버피팅 문제를 해결하기 위한 방법으로 여러가지 방안이 있는데, 뉴럴 네트워크에서 drop out , Early stopping (모델이 오버피팅 되기전에 학습을 멈추는 방법) 등이 있다. 여기서 살펴볼 내용은 오버피팅을 해결하기 위한 기법중의 하나인 L2 Regularization이다. 일반적으로 loss 함수는 아래 그림과 같이 (y-y':원본데이타 - 예측데이타) 의 차이를 최소화하는 값을 구하는 식으로 되어 있다. L2 Regularazation 기법은 이 Loss 함수의 값 뿐만 아니라, 모델의 복잡도를 최소화하는 weight 값을 차는 방식으로 식을 변형한다. 모델의 복잡도에 대한 계산은 weight 값의 최소값을 구하는 방식을 사용하는데, L1 Regularz..

Feature Crossing

Feature crossing 피쳐 크로싱이란, 주어진 피쳐로 문제를 해결할 수 없을때 (특히 선형문제), 두개 이상의 피쳐를 곱해서 새로운 피쳐를 생성해내는 방버이다. Overcrossing 피쳐크로싱을 한 피쳐를 많이 사용하게 되면 오히려 역효과(오버피팅등)이 발생할 수 있는데, 이를 오버크로싱이라고 한다. 아래 그림을 보면 X1,X2 피쳐를 크로싱한 3개의 추가 피쳐를 사용하였는데, 그림과 같이 분류 모델의 그래프과 왼쪽 상단에도 생기고 또한 분류 경계가 직선으로 아래그림 다음 그림과 같이 선형이면 충분함에도 불구하고, 오히려 곡선으로 구부러지면서 오버피팅이 되는 것을 확인할 수 있다. 아래는 해당 데이터 셋에 대한 이상적인 경계선을 표현한다. 여기서는 피쳐 크로싱된 데이터를 사용하지 않았다.

Vertex AI : 모델 학습 및 하이퍼 패러미터 튜닝

Vertex AI : 모델 학습 및 하이퍼 패러미터 튜닝 조대협 (http://bcho.tistory.com) 가장 기본적이지만 클라우드를 사용하면서 가장 효과적인 기능이 모델 학습과 하이퍼 패러미터 튜닝이다. 모델 학습을 위해서는 CPU/GPU 고사양의 컴퓨터가 필요하지만, 이 고사양의 컴퓨팅 파워가 항상 이용되는 것이 아니라. 학습때 많은 컴퓨팅 자원이 필요하기 때문에, 온프렘등에서 장비를 사놓고 학습때만 사용하고 평소에 장비를 사용하지 않는 것 보다는 학습때만 클라우드에서 컴퓨팅에서 컴퓨팅 자원을 사용하는 것이 오히려 비용 효율적이라고 볼 수 있다. 하이퍼 패러미터 모델을 학습함에 있어서 모델에는 여러가지 튜닝이 가능한 패러미터가 있다. 예를 들어 학습 속도 (Learning Rate)나, 또는 뉴..

구글 클라우드 Vertex.AI Model 학습 및 모델 배포&서빙

Vertex.AI Model 학습 및 모델 배포&서빙 조대협 (http://bcho.tistory.com) 머신러닝 환경에서, 학습을 수행하기 위해서는 프레임웍에 맞는 환경 (파이썬,텐서플로우)등을 설치하고, 필요한 컴퓨팅 리소스 (CPU,GPU)등을 프로비저닝 한후, 학습을 진행해야 한다. 학습이 완료되면 서빙을 위해서 모델을 export 하고, 서빙을 위한 API 서버를 설치 한 후에, 모델을 배포해서 서빙을 해야 한다. 서빙시에는 학습시 데이터와 서빙 요창에 들어온 데이터가 크게 차이가 나지 않는지 (training & serving detection), 또는 서빙 요청이 들어온 데이터가 이전 서빙 요청이 들어온 데이터와 크게 차이가 나지 않는지 (data drift detection)등의 체크를 ..

Vertex.AI로 파이프라인과 metadata 구현하기

Vertex.AI Pipeline(Kubeflow pipeline) & metadata 조대협 (http://bcho.tistory.com) 이 글은 google developer codelab의 Using Vertex ML Metadata with Pipeline 예제를 기반으로 한다. . (코드 소스 : https://codelabs.developers.google.com/vertex-mlmd-pipelines) 예제 코드의 실행은 위의 링크를 참고하면, step by step으로 진행할 수 있다. Vertex.AI는 구글 클라우드의 AI 플랫폼 솔루션으로 여러가지 컴포넌트를 가지고 있다. 이 예제에서는 데이터를 읽어서 학습하고, 모델을 만들어서 배포하는 파이프라인에 대해서 설명한다. 파이프라인의 개..

40대 중반에 새로운 여행을 떠납니다.

근 20년이 넘게 한국에서 IT 업종에서 일해왔습니다. 작은 병특회사에서 시작해서, 외국계 벤더에서 서포트,컨설턴트 여러가지 일도 해보고, 국내 인터넷 회사에도 들렀다가, 잘 다니던 대기업을 그만두고 스타트업 CTO로 가면서 도전을 했고, 성공하지 못했습니다. 몸도 많이 힘들고 잃은 것도 많지만 경험적으로 얻은 것도 많았습니다. 그리고 좋은 분들의 도움으로 구글에서 엔지니어로써 일해오고 있습니다. 그러다가 재 작년에 가족들과 미국에 여행을 갔을때, 아이들이 자유롭게 놀고 창의적으로 공부하는 모습이 눈에 많이 들어오더군요. 한국에서는 어린 나이부터 대학 입학을 위해서 선행 학습을 해야 하고 늦게 까지 주입식 교육을 해야 하는데.... 정말 이건 아니다 싶더군요. 그래도 서울시내에 있는 대학이라도 갈려면 최..

사는 이야기 2021.05.28 (32)

머신러닝 파이프라인에서 데이터 전처리 방법

Data Preprocessing in ML Pipeline 본글은 구글 클라우드 블로그에 포스팅한 글을, 재 포스팅 허가를 받은 후 포스팅한 글입니다. 다른 좋은 글들도 많으니 아래 출처 링크를 참고해 주새요출처 링크 머신러닝 파이프라인에서, 데이터는 모델 학습 및 서빙의 입력에 알맞게 가공되어야 한다. 이를 전처리라고 하는데, 이번 글에서는 전처리에 대한 개념과 이에 대한 구현 옵션등에 대해서 알아보도록 한다.처리 단계별 데이터 분류머신러닝에서 데이터 전처리는 모델 학습에 사용되는 데이터 형태로 데이터를 가공하는 과정을 이야기한다.데이터 전처리는 여러 단계로 이루어지는데, 단계별로 처리된 데이터에 대해서 다음과 같이 명명한다. Raw data초기에 수집된 원본 데이터로 분석이나, 머신러닝 학습 용도로..

분산형 데이터 분석 아키텍처-데이터 매쉬

Data mesh조대협 (http://bcho.tistory.com) Data mesh는 빅데이터 분석 시스템의 아키텍쳐 스타일로, 마이크로 서비스 아키텍처 (이하 MSA)컨셉과 유사하게 데이터 분석 시스템을 각각의 분산된 서비스 형태로 개발 관리하는 아키텍쳐 모델이다. 이번 글에서는 차세대 데이터 분석 시스템 아키텍처인 Data mesh에 대해서 알아본다. 데이터 분석 시스템의 역사Data mesh에 대해서 이해하려면 기존의 데이터 분석 시스템의 아키텍처와 그 역사에 대해서 이해하라 필요가 있다.데이터 분석 시스템은, DataWare house를 거쳐 현재는 Data Lake 형태가 주류를 이루고 있으며, 차세대로는 Data Mesh가 각광 받고 있다. 각각 아키텍처 스타일을 보면 다음과 같다.Data..

빅데이타 2021.01.04 (1)

Kubeflow pipeline 과 TFX 메모

Kubeflow pipeline 과 TFX 메모 TFXTFX는 Tensorflow Extended 로, 머신러닝 파이프라인을 구현하는데 필요한 여러가지 컴포넌트들을 지원한다. TFDV : 모델 Validation으로, EDA뿐만 아니라 데이터의 특성을 파악하여 저장한후에, 향후에 데이터가 들어 왔을때 Validation이 가능하다TFT : 데이터 Transformation 작업을 한다TFMA : 학습된 모델에 대한 평가 작업을 한다TF-Serving : Prediction RunTime 엔진을 제공한다.파이프라인 엔진이렇게 각각의 컴포넌트가 있을때, 이 컴포넌트를 묶어서 오케스트레이션을 해야하는데, 이를 위해서 제공되는 것이 TFX pipeline이다. 실제 런타임 엔진이 있는 것이 아니라 SDK형태를 ..

빅데이타/머신러닝 2020.11.17 (1)