반응형

인공지능 & 머신러닝 & 딥러닝 개요

인공지능

  • 인공지능은 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구 활동
    • 일반적으로 컴퓨터 프로그램이 하는 일들은 입력되어 있는 로직을 바탕으로 동작하기에 단순한 작업들을 수행하기에는 뛰어난 반면, 더 나아가 사람의 말을 이해하거나 사람 얼굴을 인식하는 등의 작업들은 단순히 개발자가 짠 로직만으로는 성능이 많이 떨어짐
    • 수많은 케이스가 입력되어도 정확도가 높은 결과를 제시하기 위해선 사람의 뇌와 같이 지능적인 작업을 하는 도구가 필요함

머신러닝

  • 현재 인공지능을 구현하기 위한 방식으로는 크게 규칙 기반 시스템(Rule-based system)과 머신러닝 2가지로 나뉨
    • 규칙 기반 시스템: Rule(규칙)을 미리 프로그래머가 작성하는 방식
      • 수많은 경우의 수에 대응하는 데는 한계가 명확하므로 세계관이 좁은 문제를 해결 할 때 사용됨
      • 대표적으로 체스게임(바둑에 비해 단순), 게임 캐릭터의 활동 등
    • 머신러닝: 프로그래머가 만든 모델을 바탕으로 들어오는 데이터를 학습하고 분석
      • 모델 안에는 다양한 알고리즘이 적용되어 있고 학습할 수 있는 로직이 들어가 있음
      • 세계관이 넓고 문제가  다양한 경우에는 사람처럼 학습을 해야 더 높은 정확도의 결과를 도출할 수 있으므로컴퓨터가 직접 학습할 수 있는 머신러닝(Machine Learning)이 각광받음

딥러닝

  • 인공 신경망: 효율이 높은 머신러닝을 구현하기 위해 여러 가지 알고리즘을 연구하던 중 인간의 뇌 구조(뉴런의 연결)에 영감을 받아 만들어낸 알고리즘
    • 현재 대부분의 머신러닝 알고리즘은 '인공 신경망' 알고리즘을 사용
    • 인공 신경망 기술의 핵심은 층층이 들어있는 노드(뉴런 역할)
    • 입력 값을 인공 신경망 모델에 넣으면 순차적으로 노드들을 타면서 수치가 계산되고 최종적으로 결과 값을 반환

  • 딥러닝: '인공 신경망' 기술을 기반으로 수많은 연산을 통해 더 정확한 결과를 예측하는 모델
    • 노드(정확히는 은닉층)를 훨씬 많이 사용해서 깊은(Deep) 인공 신경망 모델을 사용한 방식
    • 컴퓨터 하드웨어 성능이 급성장하며 더 많은 계산과 학습이 가능해졌고, 자연스럽게 인공 신경망의 깊이가 깊어질 수 있었음
  • 최근 우리가 접하는 기사 중 대부분의 머신러닝 기술은 딥러닝 모델을 기반으로 함
    • 구글에서 만든 '티처블 머신' 서비스는 누구나 무료로 머신러닝 모델을 만들 수 있도록 쉬운 UI와 기능을 제공

 

AI 트렌드

초기 딥러닝 모델

  • 딥러닝은 기본적으로 학습을 위해 수많은 데이터를 필요로 함
    • 학습용 데이터를 수집하고 분류(라벨링)하는 것이 학습을 위해 가장 중요
    • 수많은 데이터를 넣어서 학습이 된 이후에야 실제 상황의 데이터가 들어왔을 때 학습된 모델이 올바른 값을 내려줄 수 있기 때문
  • 학습 데이터를 바탕으로 정의된 문제에는 강점을 보이지만 다른 범주의 문제는 잘 해결하지 못 한다는 문제점 존재
    • 사람 얼굴을 인식하는 딥러닝 모델은 고양이 얼굴을 인식할 때는 낮은 정확도를 보임
    • 즉 수많은 사람 얼굴 사진을 수집해서 학습시킨 모델은 고양이 인식에는 쓸모가 없음
    • 그래서 초기에는 조금씩 다른 유형의 모델을 만들려면 데이터를 전부 새로 수집해야 하는 번거로움이 존재하였음

Transfer Learning (전이 학습)

  • 전이 학습(Transfer Learning): 기존의 학습된 모델을 일부 변형해서 학습시키는 것
    • 과거처럼 전부 다시 학습 시킬 필요 x 
    • 사람 얼굴을 인식하는 모델에서 조금만 고양이 얼굴 관련된 학습을 시키면 고양이도 인식할 수 있음
    • 대표적인 전이 학습 방식으로 파인 튜닝(Fine Tuning)
  • 파인 튜닝: 기존에 보유한 데이터로 학습을 한 번 시킨 후 진짜 필요한 학습 데이터 일부로 새롭게 학습시키는 기술
    • 적은 데이터로도 높은 성능을 낼 수 있음
    • 기존에 있는 데이터들을 잘 활용하면 새롭게 학습할 데이터가 많이 없어도 됨
  • 대표적인 전이학습 모델로 텍스트 기반 모델인 GPT-2, 이미지 기반 모델인 GAN 등이 있음
    • GAN 모델은 딥페이크의 기반 모델

Few Shot Learning

  • 파인튜닝 기술을 적용하더라도 많은 데이터를 필요로 함
    • 더 적은 데이터로도 정확도가 높은 모델 필요
    • 고양이 사진을 한 번 보고도 수많은 다른 고양이 사진들에 고양이가 있다는 것을 알기 위함
  • 퓨삿 러닝(Few Shot Learning): 적은 데이터로도 학습이 가능하게 하는 방식
    • 이를 가능하게 하기 위해선 적은 데이터를 바탕으로 유사한 데이터를 생성하거나 고차원의 학습 데이터들(ex. 이미지)을 저차원(ex. 숫자)으로 변환해서 특징을 잡아내는 기술 등을 필요
    • 현재 퓨샷 러닝에 관해 활발한 연구가 진행되고 있어 나중에는 적은 데이터만으로 높은 성능을 내는 모델이 만들어질 것이라고 전문가들은 예측
  • 퓨샷 러닝이 적용된 기술 대표적인 기술 GPT-3가 있음

 

Reference

https://www.inflearn.com/course/it-%EA%B0%9C%EB%B0%9C%EC%A7%80%EC%8B%9D#

 

IT 회사에서 비개발자가 살아남기 위한 모든 개발 지식 A to Z - 인프런 | 강의

본 강의는 멤버십 구독 개념으로 한 번 구매하면 계속 추가되는 수업도 수강할 수 있습니다😃, [사진] 이 강의는!  단순히 개발 용어만을 알려주지 않습니다.IT 회사에서 개발자들이 실제로 하

www.inflearn.com

https://www.grabbing.me/IT-A-to-Z-By-1e1fbc981b7c4c03ac44943085ac8304

 

[IT 개발자와 일할 때 필요한 모든 개발지식] A to Z 자료 모음집 By 그랩

장담하건대 이 내용들만 알고 계시면 IT 개발의 전체적인 흐름은 전부 파악한다고 보셔도 무방합니다.

www.grabbing.me

 

반응형

'비개발자의 개발 지식 스터디 > 데이터' 카테고리의 다른 글

그로스 해킹  (0) 2023.07.26
데이터 직군  (0) 2023.07.26
데이터의 전체 프로세스  (0) 2023.07.26
반응형

그로스 해킹

  • 데이터를 바탕으로 고객을 분석하고 회사를 성장시키는 일련의 과정

  • '기업이 목표하는 것'으로 이끄는 것에 대한 전반을 의미하며 철저히 데이터 기반의 의사결정이 수반됨
    • 마케팅을 통해 서비스를 알리고 제품의 구매 유도까지 과정 등
    • 관련 툴로는 대표적으로 CRM(고객 관계 관리 솔루션)이 있음

 

마케팅 vs 그로스

  • 기존 마케팅: 제품을 알리고(Awareness) 제품에 사용자를 유입(제품 입장에서 사용자 획득/Acquisition)하는 것에 한함
  • 그로스 해킹: 기존 마케팅 이후 제품 레벨의 사용자 사용(Activation), 재사용(Retention), 결제(Revenue), 공유(Referral)의 전과정을 데이터로 저장하고 이를 활용

 

AARRR

  • 위 모든 지표는 데이터를 바탕으로 보게 되며 실제로 아래와 같은 정보를 수집하고 확인하게 됨
    • 고객의 유입 데이터(수치)
    • 제품의 활동(스크롤, 클릭, 체류시간 등) 데이터 / 클라이언트 로그
    • 재방문에 대한 데이터 (나간 이후 얼마만에 돌아왔는지 등)
    • 결제 / 수익 데이터
    • 공유 데이터 (얼마나 다시 퍼지는지)

 

퍼널 데이터 분석

  • 퍼널 (Funnel): 사전적 의미는 깔때기, 마케팅으로 유입된 유저가 최종적으로 결제하기 까지 일련의 과정을 의미
    • 해당 과정에서 생성되는 데이터를 퍼널 데이터라 하며 해당 데이터를 분석하여  최종적으로 ‘구매전환율’ (방문 유저가 구매를 하는 비율)을 높히는 다양한 방법을 시도함

 

실험과 피드백

  • 위와 같이 각 영역에서 성장을 위한 가설을 세우고 실험하며 결과(데이터)에 따라 검증 및 적용 후 피드백
    • ex) 결제 페이지의 결제/구매 버튼을 아래에서 위로 변경 -> 변경 후 구매전환율 추이 확인 -> 피드백

 

그로스 해커

  • 결국 그로스 해킹을 위해 분석가와 개발자, 마케터의 전반적인 능력이 요구됨
  • 최근에는 위와 같은 업무를 하는 마케터를 주로 그로스 해커라고 부름

 

Reference

https://www.inflearn.com/course/it-%EA%B0%9C%EB%B0%9C%EC%A7%80%EC%8B%9D#

 

IT 회사에서 비개발자가 살아남기 위한 모든 개발 지식 A to Z - 인프런 | 강의

본 강의는 멤버십 구독 개념으로 한 번 구매하면 계속 추가되는 수업도 수강할 수 있습니다😃, [사진] 이 강의는!  단순히 개발 용어만을 알려주지 않습니다.IT 회사에서 개발자들이 실제로 하

www.inflearn.com

https://www.grabbing.me/IT-A-to-Z-By-1e1fbc981b7c4c03ac44943085ac8304

 

[IT 개발자와 일할 때 필요한 모든 개발지식] A to Z 자료 모음집 By 그랩

장담하건대 이 내용들만 알고 계시면 IT 개발의 전체적인 흐름은 전부 파악한다고 보셔도 무방합니다.

www.grabbing.me

 

반응형

'비개발자의 개발 지식 스터디 > 데이터' 카테고리의 다른 글

AI  (0) 2023.07.26
데이터 직군  (0) 2023.07.26
데이터의 전체 프로세스  (0) 2023.07.26
반응형

데이터 엔지니어

  • 엔지니어는 데이터를 수집하고 저장하는 역할 수행
    • 추가적으로 시각화를 통해 더 나은 데이터 결과를 제공하는 역할 수행
    • 즉, 데이터 생성 → 수집 → ETL → 시각화 의 과정을 엔지니어가 수행
  • 초기 스타트업은 데이터 수집, 분석에 Google Analytics를 많이 사용
    • 이는 프론트엔드에서 데이터 수집 코드 작성 시 데이터 저장과 시각화까지 전부 손쉽게 가능하기 때문
    • 하지만 기업 입장의 커스터마이징이 힘들기 때문에 결국 엔지니어가 직접 데이터 환경을 구축하게 됨

 

데이터 파이프라인

  • 데이터 파이프라인: 데이터의 생성 이후 여러 서버를 거쳐 최종 DB에 저장되는 전반적인 과정
    • 따라서 데이터 엔지니어의 업무 ≈ 데이터 파이프라인 구축 이라 할 수 있음

  • 데이터 파이프라인 구축은 데이터와 관련된 서버를 만들고 연결 시키는 업무 총체를 의미
    • 현재 일반적으로 클라우드 환경에서 가동
  • 파이프라인 구축 시 유의 사항
  1. 실시간으로 수많은 유저 데이터가 처리되어야 하므로 정확하고 세밀한 데이터 유형 분류와 저장이 필수이며 이에 따라 넉넉한 저장 공간 확보가 중요
  2. 순간적인 사용량 증대로 데이터 처리 부하를 서버가 못견디고 터지는 경우가 발생할 수 있기 때문에 예방책 및 대비책을 준비하고 유연하게 대처해야 함
  3. 모든 데이터를 중간에 새지 않고 잘 저장되게 해야하며, 이를 위해 꼼꼼히 데이터의 흐름을 잘 추적 해야 함

 

데이터 사이언티스트

  • 데이터는 결국 분석해야 가치가 생김
    • IT 회사에서는 쌓여있는 데이터를 바탕으로 분석을 해서 유의미한 인사이트를 얻어야 함
  • 데이터 사이언티스트는 데이터를 다루는 모델(프로그램)을 만들고 데이터를 분석함
    • 이 역할을 수행하기 위해선 프로그래밍, 통계학 이론, 머신러닝 지식 등의 다양한 분야를 섭렵하고 있어야 함

 

모델 생성 및 개선

  • 데이터 사이언티스트는 모델을 만들고 해당 모델의 정확도를 개선하는 것이 주 업무
    • 모델: 데이터를 넣었을 때 결과를 만들어주는 하나의 프로그램
  • 보통 모델을 만들 때 Python 언어가 많이 사용됨
    • 통계나 머신러닝을 지원하는 라이브러리는 Python으로 만들어진 게 많음

  • 모델의 내부는 통계학과 ML이론을 바탕으로 프로그래밍되며, 데이터 입력 시 내부 로직을 거쳐 결과가 도출 됨
  • '유저가 본 상품들 데이터를 바탕으로 유저의 취향을 파악하는' 모델을 만들어야 한다고 가정
    • 유저의 취향을 유형별로 분리 후 1 ~ 10으로 라벨링, 데이터 입력 시 1 ~ 10 사이의 값이 나오도록 모델을 만듦
  • 일반적으로 모델에 데이터를 넣기 전 모델이 데이터를 목적에 맞게 처리할 수 있도록 전처리 과정이 필요
    • 이미지 같은 경우 모델에서 계산이 될 수 있도록 데이터를 정규화 (Normalization)하는 처리를 진행
  • 많은 경우 초기 모델은 제대로된 결과를 예측하지 못하므로 데이터를 계속 넣고 결과를 정답과 비교하면서 모델의 정확도를 높이는 업무를 진행해야 함
    • 다른 통계 이론의 적용, ML의 Hyperparameter 조절 등

Example

  • 영화 추천 서비스 왓챠는 사용자에게 맞춤형 콘텐츠를 제공

  • 일반적으로 추천 서비스 제공을 위해서 해당 서비스를 이용한 유저 로그나 시청 정보 등이 필요
  • 분석 프로세스 예시
  1. 사용자의 시청 콘텐츠와 시청 시간 등 여러 관점의 데이터 수집
  2. 데이터 파이프라인을 거쳐 저장된 데이터를 전처리
  3. 입력 데이터에 대해 모델은 짜여진 로직을 바탕으로 유저가 어떤 유형인지 예측
  4. 해당 결과를 바탕으로 콘텐츠 추천

 

데이터 분석하기

  • 데이터를 분석할 때 SQL과 R을 많이 사용.
    • SQL : DB의 데이터를 여러가지 조건을 이용해 추출
    • R : 일반적인 통계 분석 & 모델링

  • 사용자들이 결제한 데이터들은 회사의 핵심 데이터베이스에 저장되어 있고, 이 결제 데이터들을 바탕으로 "한달 단위로 총 결제 건수 얻기", "가장 결제가 많이 일어난 상품 찾기" 등의 작업을 할 수 있음
    • 결제, 상품 관련 데이터들을 잘 가공하면 더 나은 비즈니스적 결정을 할 수 있기 때문에 실제로 회사의 마케터, PO 등 다양한 직군들이 데이터 분석 결과를 요청함
  • 데이터 사이언티스트의 역할은 포괄적임
    • 보통 데이터 사이언티스트는 모델을 만들고 개선하는 일을 중심으로 함
    • 데이터 분석은 데이터 분석가와 역할이 겹침

 

Reference

https://www.inflearn.com/course/it-%EA%B0%9C%EB%B0%9C%EC%A7%80%EC%8B%9D#

 

IT 회사에서 비개발자가 살아남기 위한 모든 개발 지식 A to Z - 인프런 | 강의

본 강의는 멤버십 구독 개념으로 한 번 구매하면 계속 추가되는 수업도 수강할 수 있습니다😃, [사진] 이 강의는!  단순히 개발 용어만을 알려주지 않습니다.IT 회사에서 개발자들이 실제로 하

www.inflearn.com

https://www.grabbing.me/IT-A-to-Z-By-1e1fbc981b7c4c03ac44943085ac8304

 

[IT 개발자와 일할 때 필요한 모든 개발지식] A to Z 자료 모음집 By 그랩

장담하건대 이 내용들만 알고 계시면 IT 개발의 전체적인 흐름은 전부 파악한다고 보셔도 무방합니다.

www.grabbing.me

 

반응형

'비개발자의 개발 지식 스터디 > 데이터' 카테고리의 다른 글

AI  (0) 2023.07.26
그로스 해킹  (0) 2023.07.26
데이터의 전체 프로세스  (0) 2023.07.26
반응형

개요

  • IT 회사에서 데이터는 정말 중요
    • 오프라인 매장에서 고객들이 방문하는 것과 달리 온라인은 프론트엔드(웹, 앱)등을 통해서 접근하므로 유저의 방문, 행동 등의 정보를 얻기 위해서는 해당 채널에서 데이터를 수집해야 함

  • 실제로 우리가 사용하는 대부분의 웹에서는 행동 정보를 수집하고 있음
    • 사이트에서 머무는 시간, 스크롤, 클릭 등의 유저 로그 정보들은 전부 데이터화되어 저장됨

 

데이터의 전체 프로세스

  • IT 회사에서 처리하는 데이터 프로세스는 크게 아래와 같이 정리할 수 있음
  1. 데이터 생성
  2. 데이터 수집
  3. 데이터 가공 후 저장(ETL)
  4. 데이터 시각화(BI)
  5. 데이터 분석

 

데이터 생성

  • 데이터를 얻기 위해서 가장 먼저 데이터 생성이 필요
    • 데이터 수집은 보통 유저가 사용하는 웹, 앱에서 발생
    • 결제하기 버튼을 클릭, 상품페이지 스크롤, 홈화면 접속 등이 있음
    • 유저가 버튼을 클릭하면 미리 심어진 코드가 동작하여 유저의 간단한 정보들과 무슨 행동(클릭)을 했는지 데이터를 만든 후 데이터를 처리하는 서버로 전송

 

데이터 수집

  • 프론트엔드에서 데이터 생성 -> 데이터를 수집하는 수집 서버(혹은 로그 서버)에게 해당 데이터를 전송 -> 해당 서버는 데이터를 데이터베이스에 저장 혹은 다른 서버로 데이터를 전달
  • 대표적인 데이터 수집 서버로는 Aws의 Kinesis, Apache의 Kafka 등이 존재
    • 개발자들이 더 쉽게 데이터를 수집할 수 있도록 도와주는 Segment 서비스도 많이 이용
  • 데이터의 형식에 따라 사용되는 데이터베이스는 달라질 수 있음
    • 보통 유저 로그는 데이터양이 방대하기 때문에 이에 최적화된 NoSQL, HBase 등의 데이터베이스에 저장

 

데이터 가공 후 저장

  • 비정형 데이터: 로그 서버를 거쳐 저장된 데이터는 가공되지 않고 구조적이지 않은 원형 그대로의 데이터
    • 비정형 데이터들은 바로 사용할 수 없으므로 사용 목적에 맞게 가공이 필요
    • 이 때 비정형 데이터들을 한 번 가공한다고 해서 전처리 한다고도 함
    • 전처리 후 새로운 데이터베이스에 저장
  • 정형 데이터: 전처리 후 데이터베이스에 형식에 맞게 차곡차곡 쌓이는 데이터

 

ETL

  • ETL: 비정형, 정형 데이터를 목적에 맞게 가공해서 저장하는 일련의 과정
    • ETL은 Extract(추출), Transform(변형), Load(적재)를 의미
    • 데이터베이스에서 데이터를 추출해서 목적에 맞게 변형하고 이를 새로운 데이터베이스에 저장시키는 것
  • 대표적인 ETL 처리 프로그램으로 Spark , Hadoop 등이 있음
  • 데이터 웨어하우스: 가공된 데이터들을 최종적으로 저장하는데 사용되는 데이터베이스로 수많은 데이터들을 저장하는 창고라는 의미
    • 요새 IT 기업들은 데이터 웨어하우스로 구글의 BigQuery, AWS의 RedShift를 많이 이용
    • 이들은 단순히 데이터를 저장하는 역할 뿐만 아니라 내부에서 직접 데이터를 분석할 수 있는 환경(SQL 이용)도 같이 제공을 해줌

 

ELT

  • 클라우드 기술의 출현과 발전으로 최근엔 ETL이 아닌 ELT 방식의 데이터 가공이 각광 받고 있음
    • 이는 변환(T)후 적재(L)가 아닌, 데이터를 우선 적재(Load)하고 필요에 따라 일부분을 변환(T)하여 분석하는 방식
    • 데이터 양이 많고 형식이 매우 다양한 빅데이터 처리와 신속한 데이터 분석에 유리한 접근 방식으로 인기

 

데이터 시각화

  • 가공된 데이터들이 데이터 웨어하우스에 저장되어 있지만 우리의 눈에는 복잡한 텍스트로 보임
    • 최종적으로 데이터들을 눈에 보이기 쉽게 하기 위해 데이터 시각화 과정 필요

  • 쌓여있는 데이터들을 시각화해서 보여주는 도구로 BI 툴을 많이 사용
    • BI는 Business Intelligence의 약자
    • BI는 데이터를 이용해서 더 나은 의사결정을 하는 방법을 다루므로 보통 데이터 시각화 Dashboard도 같이 제공
    • 대표적인 데이터 시각화 도구로 Tableau, Redash 등의 서비스가 있음

 

데이터 분석

  • 쌓여있는 데이터들은 최종적으로 분석해야 의미가 있음
    • 데이터를 하나하나 봤을 때는 그저 하나의 점이고 이를 다양한 분석방법을 사용해야 선으로 연결됨 
    • 이 때 통계학, 머신러닝 등의 여러가지 학문적 지식을 바탕으로 데이터 분석 진행
  • IT 회사에서 데이터 직군의 일을 크게 데이터를 뽑아내는 일과 데이터를 분석하는 일로 나눌 수 있음
    • 데이터 엔지니어: 유저로부터 데이터를 추출해서 데이터베이스에 저장하는 일을 담당
    • 데이터 분석가: 저장된 데이터를 바탕으로 분석하는 일을 담당

 

Reference

https://www.inflearn.com/course/it-%EA%B0%9C%EB%B0%9C%EC%A7%80%EC%8B%9D#

 

IT 회사에서 비개발자가 살아남기 위한 모든 개발 지식 A to Z - 인프런 | 강의

본 강의는 멤버십 구독 개념으로 한 번 구매하면 계속 추가되는 수업도 수강할 수 있습니다😃, [사진] 이 강의는!  단순히 개발 용어만을 알려주지 않습니다.IT 회사에서 개발자들이 실제로 하

www.inflearn.com

https://www.grabbing.me/IT-A-to-Z-By-1e1fbc981b7c4c03ac44943085ac8304

 

[IT 개발자와 일할 때 필요한 모든 개발지식] A to Z 자료 모음집 By 그랩

장담하건대 이 내용들만 알고 계시면 IT 개발의 전체적인 흐름은 전부 파악한다고 보셔도 무방합니다.

www.grabbing.me

 

반응형

'비개발자의 개발 지식 스터디 > 데이터' 카테고리의 다른 글

AI  (0) 2023.07.26
그로스 해킹  (0) 2023.07.26
데이터 직군  (0) 2023.07.26

+ Recent posts