AI 11

[통계] 통계학 Overview

서론 MLOps를 공부하면서 우연히 빅데이터 분석 프로젝트 T/F팀에 소속되어 기획부터 배포까지 경험할 수 있게 되는 기회가 생겼다. 그런데, 문제정의를 하는 단계에서 부터 먹먹함을 가지고 있었다. '이거 제대로 하고 있는거 맞아?', '타당성 충분한가?', '이걸로 설득시킬 수 있어?' 이런 자문자답이 불가능하여 통계학을 놓으면 안되겠다는 생각을 하게 되었고, '이렇게 쉬운 통계학' 이라는 책을 시작으로 공부하기로 하였다. 공부방법은 간단하다. 개인적으로 책의 내용 + 인터넷 서칭하며 공부하고 공부한 내용을 백지에 게시글에 다시 작성하는식으로 검증하는 방식이다. 그럼 시작해보도록 하겠다. 본론 먼저 통계학을 시작하기 전에 통계학의 '맵&#..

AI/Statistics 2022.02.27

M1 mac에서 Tensorflow + PycharmIDE 환경만들기

목적 m1 mac에서 tensorflow를 사용하려함 tensorflow certificate exam 환경을 구축하려함 설치한 Libray 버전(2022.01.22 업데이트) tensorflow==2.7.0 Pillow==8.4.0 pandas==1.3.4 numpy==1.21.4 scipy==1.7.3 tensorflow-datasets==4.4.0 # tensorflow certificate exam 를 위한것 절차 Xcode 설치(Install Xcode) xcode-select --install Install Miniforge3 conda 환경을 위해 Miniforge3-MacOSX-arm64.sh 파일 다운로드 chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.s..

AI/Deep learning 2022.01.22

(3) 머신러닝 시스템 배포(Deployment & Monitoring)

머신러닝 시스템 배포 머신러닝 프로젝트 라이프 사이클에서 대분류로 보면, scoping -> data -> modeling -> deployment 순으로 이루어져 있다. 여기서 직관적으로 알기 쉬운 Deployment부터 차례로 알아보도록 하겠다. 1. 머신러닝 시스템 배포 대표적인 패턴 머신러닝 시스템을 배포는 어떠한 방식으로 하는것일까? 머신러닝 시스템을 배포에 가장 흔히 사용되는 케이스에 대해서 알아보도록 하자. 일반적으로 머신러닝 시스템을 배포하는 사용자의 상황은 크게 3개로 나눌 수 있다. 새로운 제품이나 새로운 서비스를 시작할때 => 컴퓨터 리소스를 할당할 때, 작은 트래픽을 지원하는 것부터 시작해서 점차적으로 늘리는 걸 추천한다. 즉, subset부터 테스트를 시작해서 늘리는 방식. 기존에..

AI/MLOps 2022.01.16

(2) 머신러닝 프로젝트: 기획부터 배포까지

머신러닝 프로젝트 라이프 사이클 다양한 도메인에서 진행되는 Machine learning 프로젝트에는 공통적인 일련의 과정들이 있다. 기본적으로 데이터 수집부터 시작해서 데이터 사이에서 인사이트를 얻기 위한 EDA, 많은 데이터 중 중요변수만 찾기위한 Feature Engineering, 데이터 결측치 처리 등 데이터의 퀄리티를 높이기 위한 Data Cleansing 등이 있다. 여기서 MLOps는 위에서 말한것들에서 더 나아가 AI 서비스/제품을 배포(Deployment)하기 위한 프로세스까지 커버할 뿐만 아니라 사후관리(Error Analysis)까지 다룬다. 크게 분류하자면 Scoping -> Data -> Modeling -> Deployment로 나눌 수 있다. 이에 대해서 자세히 알아보도록 하..

AI/MLOps 2022.01.11

(1) What is the MLOps?

MLOps는 DevOps 용어에서 파생되어 나온단어다. 그러므로 DevOps를 우선적으로 대해서 알아보도록하자. What is the DevOps? DevOps는 제품 개발 프로세스에서 유래된 단어로 Development + Operations의 합성어이다. 개발(Dev)부서는 제품을 개발하고 마켓에 론칭하는 역할을 하고, 운영(Ops)부서는 제품을 운영하면서 시장의 트랜드, 고객 니즈를 대처한다. 이때, 개발(Dev)부서는 새로운 기능이나 유지보수에 대한 개발만 할 뿐 운영(Ops)부서만큼 고객의 니즈를 고려하여 개발하지 않는다. 운영(Ops)부서 또한 개발(Dev)부서만큼 개발시 발생하는 애로사항등 알기 어렵다 그리하여 애로사항을 해결하기 위해 개발(Dev), 운영(Ops)부서 아우르는 개념을 만들자..

AI/MLOps 2022.01.07

0. MLOps 공부 자료

1. 글 (1) [coffeewhale 블로그] Kubernetes w/ MLOps #1-4 (2) 머신러닝 디자인 패턴 (3) 머신러닝 파이프라인 종류 (4) 모두의 MLOps with Kubernetes and Kubeflow (5) Xbrain Blog Post What is MLOps? -> https://url.kr/m2wr4b AI를 활용한 제품을 위한 데이터 전략 -> https://url.kr/jzmw47 MLOps를 하면 성과지표, 모니터링을 어떻게 할까? -> https://url.kr/q7m1cf Airflow를 활용한 MLOps 구성방법 https://url.kr/ktshxz AI 서비스에서 데이터 엔지니어의 역할 및 중요성 -> https://url.kr/276fm3 2. 영상 &..

AI/MLOps 2022.01.03

3. Computer Vision with CNN (Fashion-MNIST)

1. CNN의 탄생 배경 과거에는 DNN(Deep Neural Net)을 이용해서 손글씨, 옷 이미지 데이터를 예측하는 일을 했다. 여기서 2가지 문제가 발생하게 된다. 1) 학습 효율성, 속도 문제이미지가 28x28로 엄청 작아도 DNN를 사용하고자 한다면, 입력노드를 2352개 써야한다. 이는 지나치게 많은 입력 노드가 발생하여 효율성이 떨어진다. 2) Overfitting 문제 가령 흰배경에 강아지가 있는 사진만을 학습시킨 모델에 테스트 이미지로 검은 배경의 강아지가 들어왔다고 해보자. DNN학습된 이미지는 이게 강아지임을 분류 하기란 쉽지않다. 그리고 오버피팅을 야기할 수 있다. 이를 해결하고자 1998년 Yann LeCun이 더 잘 작동시키는 아이디어로 논문을 썼는데 그것이 컨볼루션 네트워크(C..

AI/Deep learning 2022.01.02

2. Computer Vision with Deep Neural Networks

서론 기존 프로그래밍은 문제가 있으면 답을 방식이였다. 그러나, 딥러닝은 문제를 풀기위해 데이터들의 '패턴'을 찾아내고 '식'을 만들어 답을 찾는 방식인 점에서 딥러닝을 이용한 문제해결은 매우 혁신적인것 같다. Computer Vision쪽에서는 딥러닝이 어떠한식으로 쓰일까? 사람이 어떤 옷을 보았을때 뇌에서 받아들이는 과정을 생각해보자. '이건 흰셔츠고~ 검은 바지네~' 와 같이 생각할 수 있다. 반면, 이를 어떻게 프로그래밍 할까? 만약, '옷'을 본적도 없는 외계인이 지구에 왔을때, '신발'에 대해서 어떻게 설명할까? 매우 어렵지만, 불가능하지 않다는 것을 알 수 있다. 이를 해결하는 방법 중 하나는, 컴퓨터에게 신발, 셔츠, 핸드백, 코트를 학습시키는것이다. 대표적인 예시 데이터셋으로 Fashio..

AI/Deep learning 2022.01.01

1. The 'Hello World' of Deep Neural Networks

서론 Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning 에서 얻은 지식을 토대로 간단하게 딥러닝의 기본적인 개념들을 살펴보고 넘어가보자. 본론 일반적으로 프로그래밍은 어떠한 룰이 주어지고, 여기에 데이터를 넣었을때 결과값이 나오는 형태이다. 반면, 머신러닝은 이와는 다르게 어떠한 데이터를 주고 이에 대한 결과값은 무엇인지 데이터를 줘서 이것의 룰이 무엇인지 도출한다. 가령, y= 2x - 1 라는 방정식이 있다고 해보자. 일반적인 프로그래밍 방식은 def twox(n): return 2*n - 1 와 같이 함수를 선언하고 여기에 n값을 넣어 결과값을 얻는 방식이다. 이제 머신러닝 방식을 알아..

AI/Deep learning 2022.01.01

0. 딥러닝 개발 환경설정

서론 구글 Colab을 이용해서 어떻게 tensroflow 개발 환경을 구축할지에 대해서 알아보도록 한다. 본론 구글 드라이브로 가기 -> 새로만들기 -> 더보기 -> 연결할 앱 더보기 Marketplace에 Colab 검색 -> 설치 클릭 계속 -> 구글 로그인 -> 확인 새로 만들기 -> 더보기 -> Google Colaboratory 클릭 마무리 위 절차를 통해 실습환경을 구축할 수 있었다. 다음 포스팅에서는 google mount와 tensorflow 라이브러리를 다운받는 과정까지 하도록 하겠다.

AI/Deep learning 2022.01.01