Pytorch의 기본 연산 구현

import torch, math

# 2 X 3 짜리 랜덤값의 tensor 생성
x = torch.randn(2,3)

# 2를 곱한 후 -1
new_x = x * 2 - 1

# 연산 값 확인
print(new_x)
# 절대값 확인
print(torch.abs(new_x))
# 실수 값에서 올림하여 정수 반환
print(torch.ceil(new_x))
# 실수 값에서 내림하여 정수 반환
print(torch.floor(new_x))
# 특정 범위의 값 안에서만 값이 나올 수 있도록
# 최소값보다 낮으면 최소값으로, 최대값보다 높으면 최대값으로 변환
print(torch.clamp(new_x, -0.5, 0.5))

"""
tensor([[-1.4341,  0.6692, -0.3575],
        [-0.6242, -1.3584,  0.3057]])
tensor([[1.4341, 0.6692, 0.3575],
        [0.6242, 1.3584, 0.3057]])
tensor([[-1.,  1., -0.],
        [-0., -1.,  1.]])
tensor([[-2.,  0., -1.],
        [-1., -2.,  0.]])
tensor([[-0.5000,  0.5000, -0.3575],
        [-0.5000, -0.5000,  0.3057]])
"""


print(new_x)
# torch 최소값
print(torch.min(new_x))
# torch 최대값
print(torch.max(new_x))
"""
tensor([[-1.4341,  0.6692, -0.3575],
        [-0.6242, -1.3584,  0.3057]])
tensor(-1.4341)
tensor(0.6692)
"""

 

다차원 Tensor

0차원 tensor

  • scalar 로 표현
  • 하나의 숫자로 표현돼 있고, dimention과 shape가 없는 tensor
t_zero = torch.tensor(0)
print(t_zero.ndim)
print(t_zero.shape)
print(t_zero)
"""
0
torch.Size([])
tensor(0)
"""

 

1차원 tensor

  • 하나의 dimention이 존재하며, 리스트와 유사한 형태
  • vector로 표현
t_one = torch.tensor([3,7,8,9])
print(t_one.ndim)
print(t_one.shape)
print(t_one)
"""
1                    ==> 1차원
torch.Size([4])        ==> 1축의 값이 몇개 있는지
tensor([3, 7, 8, 9])
"""

 

2차원 tensor

  • 2개의 dimention을 가지며, 일반 행렬과 비슷한 자료구조 형태
  • 수치, 통계 데이터셋에 주로 사용
  • 주로 row는 sample을 의미하고, column 값은 feature를 의미함
t_matrix = torch.tensor([[2,34,6],
                        [6,3,46],
                        [16,38,73]])
print(t_matrix.ndim)
print(t_matrix.shape)
print(t_matrix)
"""
2
torch.Size([3, 3])
tensor([[ 2, 34,  6],
       [ 6,  3, 46],
       [16, 38, 73]])
"""

 

3차원 tensor

  • 데이터가 연속된 시퀀스 데이터, 시계열 데이터의 차원으로 주로 사용됨
  • 큐브 모양의 3개의 축으로 shape 구성
  • 3차원 tensor의 예시 데이터
    • 자연어
    • 주식 데이터
    • 시간에 따른 질병 데이터
  • 3차원의 특성은 주로, Sample, Timesteps, Feature 로 구성을 이룸
    t_cube = torch.tensor([[[2,34,6],
                       [6,3,46],
                       [16,38,73]],
                      [[2,34,6],
                       [6,3,46],
                       [16,9,6]],
                      [[2,1,6],
                       [6,3,4],
                       [16,2,7]]])
    print(t_cube.ndim)
    print(t_cube.shape)
    print(t_cube)

 

4차원 Tensor

  • 4개의 shape로 구성
  • 주로 컬러 이미지 데이터가 4차원으로 표현됨
  • Sample(데이터 개수), Height(높이), Width(넓이), Color Channel(컬러 채널) 로 구성

 

5차원 Tensor

  •  5개의 shape로 구성
  • 주로 비디오 데이터가 5차원으로 구성됨
  • Sample(데이터 개수), Frame(프레임), Height(높이), Width(넓이), Color Channel(컬러 채널) 로 구성돼 있음
  • Frame의 의미는 이미지가 여러개 시퀀스 데이터로 구성될 때 비디오 영상 데이터로 되기 때문에 초당 몇개의 이미지를 출력할건지에 대한 정보

 

pytorch 배경

  • 페이스북에서 루아 언어라는 언어로 개발한 torch 프레임 워크를 python으로 다시 개발해서 pytorch로 개발
  • 초기에는 numpy와 같이 데이터 분석 프레임워크와 같은 느낌으로 기능 제공
  • 추후 GPU를 사용해서 딥러닝 병렬처리가 가능하게끔 발전

pytorch 구조

  • low-level : 하위 부분은 하드웨어 입장에서 GPU 접근 등 처리 계산을 빠르게 하기 위한 구조로 개발돼 있음, C, CUDA와 같은 저수준 언어 사용
  • middle-level : C++ 활용하여 중간 레벨의 언어로 개발. 엔진 역할을 담당
  • top-level : Python 모듈 구조로 wrapping돼 있는 API 제공

pytorch 구성 요소

  • torch : 텐서와 같은 수학 함수 기능 포함
  • torch.autograd : 자동 미분 기능 제공하는 라이브러리
  • torch.nn : 딥러닝 Neural Network 신경망 구성을 위한 라이브러리
  • torch.multiprosessing : 병렬처리 계산 기능 제공
  • torch.optim : 신경망 파라미터 최적화 알고리즘 제공
  • torch.utils : 데이터 조작 기능 제공
  • torch.onnx : ONNX(Open Neural Network Exchange) -> pytorch로 구현한 딥러닝 모델을 다른 프레임워크 형태의 모델로 공유할 수 있도록 도와주는 라이브러리

Tensor

  • 데이터 표현하는 하나의 구조로서 다차원 데이터를 효율적으로 표현 가능
  • 수치형 데이터를 담는 컨테이너 구조로 이뤄져 있음
  • GPU 사용해서 tensor 계사할 때 연산 가속 기능 제공
  • scalar : 0D, 차원이 없는
  • vector : 1D, 1차원
  • matrix : 2D, 2차원
  • 그 외 다차원 tensor 확장 가능

Tensor 초기화

# pytorch import & 버전 확인
import torch
torch.__version__
# 초기화 되지 않은 tensor 생성 (3,3) 2차원 matrix
non_init_tensor = torch.empty(3,3)
print(non_init_tensor)
"""
tensor([[1.0286e-38, 1.0653e-38, 1.0194e-38],
        [8.4490e-39, 1.0469e-38, 9.3674e-39],
        [9.9184e-39, 8.7245e-39, 9.2755e-39]])
"""
# random(무작위)으로 초기화된 tensor
init_random_torch=torch.rand(4,2)

"""
tensor([[0.8102, 0.2902],
        [0.7740, 0.6910],
        [0.5866, 0.2347],
        [0.6740, 0.8726]])
"""


# 데이터 타입이 long type이면서 0으로 채워진 텐서
x = torch.zeros(4,2, dtype=torch.long)
"""
tensor([[0, 0],
        [0, 0],
        [0, 0],
        [0, 0]])
"""


# 사용자 정의 입력값 tensor 초기화
x = torch.tensor([3, 2.3])
"""
tensor([7.0000, 4.1000])
"""


# 4 x 2 크기의 double 타입으로 1이 채워진 tensor
# 기존 만들어진 tensor를 변경
x = x.new_ones(4, 2, dtype=torch.double)
"""
tensor([[1., 1.],
        [1., 1.],
        [1., 1.],
        [1., 1.]], dtype=torch.float64)
"""


# 이전 tensor의 크기로, 무작위 tensor 생성, 데이터 타입은 float
new_x = torch.randn_like(x, dtype=torch.float)
"""
tensor([[-2.3465, -2.2080],
        [-0.2785,  0.6612],
        [-1.4324,  0.8104],
        [ 1.1557, -1.0430]])
"""


# 텐서 사이즈 확인
x.size()
"""
torch.Size([4, 2])
"""

데이터 타입 확인

  • 다양한 tensor 데이터 타입 제공
# floattensor로 데이터타입 지정
ft = torch.FloatTensor([3,6,2])
print(ft)
print(ft.dtype)
"""
tensor([3., 6., 2.])
torch.float32  # ==> 기본이 32bit
"""


# tensor 데이터 타입 casting
print(ft.short())
print(ft.int())
print(ft.long())
"""
tensor([3, 6, 2], dtype=torch.int16)      # ==> int 16bit
tensor([3, 6, 2], dtype=torch.int32)    # ==> int의 default도 32bit
tensor([3, 6, 2])                        # ==> 64 bit
"""


# IntTensor 확인
it = torch.IntTensor([4,6,9])
print(it)
print(it.dtype)
"""
tensor([4, 6, 9], dtype=torch.int32)
torch.int32
"""


# IntTensor를 Type Casting
print(it.float())
print(it.double())
print(it.half())
"""
tensor([4., 6., 9.])
tensor([4., 6., 9.], dtype=torch.float64)
tensor([4., 6., 9.], dtype=torch.float16)
"""


# 실제 데이터 값 확인
x = torch.randn(1)
print(x.item())
print(x.dtype)
"""
-0.4453190863132477
torch.float32
"""


# tensor 연산 device setting

# device setting
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print(device)

# 위에서 만든 x와 같은 size로 1 값이 tensor 생성하고, device 부여
y = torch.ones_like(x, device=device)
print(y)

# x 또한 device 부여 (to 메서드 사용)
x = x.to(device)
print(x)

# 연산
z = x + y
print(z)

# 위 연산된 결과 값을 cpu로 이동, dtype은 double로
z.to('cpu', dtype=torch.double)
print(z)

출처 : https://www.freepik.com/free-photo/ai-nuclear-energy-background-future-innovation-disruptive-technology_17850501.htm#page=1&query=deep%20learning&position=3&from_view=search

6개월정도 부트캠프 형식으로 AI 과정을 수료했지만 사실, 5분의 1은 웹 관련 내용, 5분의 1은 파이썬, 5분의 1은 머신러닝/딥러닝 5분의 2 정도 프로젝트로 진행되다 보니 딥러닝에 대한 깊이는 한없이 부족했습니다.

이 갈증을 해소하기 위해 네이버 커넥츠 재단의 부스트캠프 과정을 알게됐고, Pre Course 과정도 나름 알차게 돼 있어서 수강하고 있습니다. 공부 내용을 정리해 놓으면 좋을 것 같아 몇자 끄적여봅니다.

 

딥러닝이란?


딥러닝 관련 직군이 매우 다양하고 넓다고 생각합니다. 데이터 사이언티스트, 데이터 분석가, 머신러닝 엔지니어, 모델러 등 다양하게 구성돼 있습니다. 개인적으로 우수한 머신러닝/딥러닝 관련 전문가의 특징을 꼽자면

1. 우수한 프로그래밍 구현 실력
2. 딥러닝을 위한 기본이 되는 수학적 지식(ex. 선형대수, 확률)
3. 논문 리딩을 통한 학습 가능한 실력

이렇게 3가지 정도 특징을 언급할 수 있을 것 같습니다. 이 3가지를 다 잘 할 수 있다면, 저도 억대 연봉을 받을 수 있겠죠? ^^

정의, 개념에 대해 간단히 언급하고 넘어가겠습니다.
인공지능이란 사람의 지능을 모방하는 것이라고 설명할 수 있습니다. 그렇다면 머신러닝이란 기계로 사람의 지능을 모방하는 개념입니다. 여기서 기계는 컴퓨터를 의미하겠죠. 딥러닝이란 이 머신러닝의 여러 종류 중 하나로서 사람의 뇌 신경망을 모방해서 구현한 개념입니다.


그래서 사실 딥러닝을 학습하고, 딥러닝 전문가가 된다는 것은 머신러닝의 일부분을 깊게 다룬다는 개념이라고 보시면 됩니다. 딥러닝이 핫한 이유는 지금까지 해결하지 못했던 문제들을 높은 성능으로 해결하는 솔루션을 제공해주고 있기 때문입니다. 할 수 있는 게 너무 많아요

그럼 딥러닝의 핵심 요소를 정말 간략하게 확인해 보면

▶ 데이터
▶ 모델
▶ 손실함수(loss function)
▶ 알고리즘(optimizer)

이렇게 4가지를 확인할 수 있습니다. 딥러닝은 데이터에 아주 민감하고, 사실상 최근 빅데이터라는 방대한 데이터 시대가 도래했기 때문에 딥러닝이란 기술이 빛을 발할 수 있습니다. 모델은 데이터를 수학적 지식을 잘 활용해서 우리가 원하는 결과를 만들어주는 중추 역할이라고 볼 수 있습니다. 손실함수는 우리의 모델이 높은 성능을 낼 수 있는 의미 있는 기준, 조건이라고 보시면 됩니다. 알고리즘은 최적화 기법과 연결 돼 있습니다.

 

딥러닝의 목적


1. Loss (우리가 이루고자 하는 근사치)
- 뉴럴네트워크에 들어 있는 layer 안에서 weight와 bias를 어떻게 update할건지 결정하는 기법이 Loss입니다. 
- Loss값이 줄어든다고 해서, 우리가 원하는 결과를 항상 얻을 수는 없습니다.

문제 접근 방식마다 사용하는 loss 기법이 다른데,
Regression(회귀) 문제는 MSE(최소제곱법)
Classification(분류) 문제는 CrossEntrophy
Probabilistic(확률) 문제는 MLE 같은 loss를 활용합니다.

딥러닝에서 Optimizer(최적화)란 신경망 네트워크를 어떻게 줄일지에 대한 기술이라고 보시면 되는데 뉴럴 네트워크의 파라미터를 loss fuction에 대해서 1차 미분한 정보를 활용해서 최적화하는 작업을 의미합니다. 쉽게 말하면, 우리가 만들 모델의 목표 지점에 도달 할 수 있게끔 세팅하는 방식이라고 생각할 수 있습니다.

딥러닝의 목적은 단순히 loss fuction을 줄이는 게 아니라 학습하지 않은 데이터에도 정확하게 작동할 수 있도록 모델을 구현하는 것입니다. loss fuction이 감소하는 게 위와 같은 성능을 보장하기도 하지만 반드시 그런 것은 아니라서 이 목적을 잊지 않는 것도 중요합니다. 우리가 딥러닝이란 기술을 이용해서 뭘 하려고 하는지 끊임없이 되묻는 게 필요합니다.

 

딥러닝 역사적 흐름


1. AlexNet(2012)
- 이미지 분류 경진대회에서 처음으로 딥러닝 기술이 1등한 첫 모델

2. DQN (2013)
- 딥마인드가 블록깨기 게임을 강화학습으로 성공시킨 논문

3. Encoder/ Decoder(2014)
- AI 번역의 트렌드 변화 주도, 시퀀스 데이터(문자)를 encoder를 통해 숫자로 바꾸고 이를 다른 언어와 매칭하여 decoder로 출력해주는 과정

4. Adam Optimizer(2014)
- 다양한 optimaizer가 있는데, 보편적으로 무난하게 높은 성능을 내는 optimizer가 Adam.

5. GAN(Generative Adversarial Network)(2015)
- 이미지, 자연어를 어떻게 생성할 지 관련된 적대적 신경망의 시초

6. ResNet(2015)
- 네트워크를 깊게 쌓을 수 있도록 트렌드를 바꾼 논문

7. Transformaer (Attention is all you need) (2017)
- NLP 딥러닝 모델의 혁신, RNN 계열의 모델에서 가장 선두적인 성능을 보임

8. BERT(2018)
- fine-tuned NLP model / fine tuning의 중요성을 보여주는 모델 / 다양한 말뭉치로 pre train하고 내가 풀고 싶은 소량의 데이터로 fine tuning 기법 극대화

9. BIG Language Models GPT-3 (OpenAI, 2019)
- 1750억개의 파라미터로 이뤄진 모델, 모델이 무겁지만 그만큼 NLP 분야에서 어마무시한 성능을 보여줌.

10. Self Supervised Learning(2020, SimCLR)
- 한정된 학습데이터 외 라벨을 모르는 데이터에 대해 unsupervised learning 방식을 접목하여 성능을 향상

안녕하세요. 부자아빠 셜로키입니다.

이번 포스팅은 머신러닝/딥러닝이라 부르는 AI 기술의 전문가로 거듭나기 위해 무엇을 공부해야하고, 어떻게 실력을 쌓아야 할지에 대해 다뤄보고자 합니다. 요새 산업 전반에 있어서 가장 널리 알려져 있고, 전도유망한 분야이기 때문에 많은 분들이 관심을 가지고 공부도 하고 도전하고 있습니다.

하지만. 워낙 기술 진입장볍이 높은 영역이기도 하고, 이론도 수학 & 통계를 기본으로 다루고 있어, 접근하기가 쉽지 않은 분야인건 확실합니다. 그럼에도 방법만 알면, 누군가 가이드 해준다면 도전해볼 의지가 있는 분들에게 조금이나마 길라잡이 역할을 해드리고자 이 포스팅을 작성해봅니다.

 

저도 처음에 어떻게 방향을 잡고, 뭘 해야할지 막막했는데, 한 책을 발견하고 어느 정도 정리 할 수 있을 것 같아서 공유해보려 합니다. (참고한 책 제목은 '1년 안에 AI 빅데이터 전문가가 되는 법' 입니다)

 

Step1. AIㆍ빅데이터 경영서적 독파


경영서적이라고 하면 좀 의아해할 수도 있습니다. 파이썬 언어를 배워야 하는거 아니야? 선형대수학이나 수리통계학 공부해야 하는거 아니야? 라고 생각하실수도 있는데 첫 스타트로는 먼저 인공지능 기술을 통해서 비즈니스 현장에서는 어떤 문제들을 풀고 있는지, 어떻게 적용하고 있는지 확인할 필요가 있습니다.

저 개인적으로는 이 단계를 문제 인식, 문제 정의라고 생각하는데요. 머신러닝, 딥러닝 영역에서는 문제를 어떻게 바라보고, 이 문제를 어떤 방식으로 풀건지 정의하고, 사고하는 과정이 너무나도 중요합니다. 첫 스타트이기 때문에 여기서 바로 세우지 못하고 꼬여 버리면 모델을 열심히 구현해도 성능이 안좋거나 잘못 접근해서 처음부터 다시 해야하는 상황도 발생하기 때문입니다.

출처 : https://www.clicdata.com/blog/what-can-business-intelligence-do-for-big-data/

그리고 이 영역이 연구분야도 활발하지만, 워날 실용 측면의 접근도 활발하기 때문에 이 기술을 실제 산업 현장에서는 어떻게 활용하고 있는지 선행 사례를 살펴보는 게 좋습니다.

그럼 어떤 경영서적을 읽으면 좋을지 소개해드리겠습니다.

▶ 『빅데이터 기초 : 개념, 동인, 기법』(시그마프레스) - 빅데이터 관련 개념 중점
▶ 『인공지능 시대의 비즈니스 전략』(더퀘스트) - AI 관련 개념 중점
▶ 『빅데이터가 만드는 제4차 산업혁명』(북카라반) - 실제 산업 현장에서 빅데이터 비즈니스 활용 사례
▶ 『빅데이터 비즈니스 이해와 활용』(위즈하임) - 실제 산업 현장에서 빅데이터 비즈니스 활용 사례
▶ 『빅데이터 분석과 활용』(학지사) - 실제 산업 현장에서 빅데이터 비즈니스 활용 사례


실제 비즈니스에서 마주하는 문제들을 어떻게 풀어내는지 어떤 데이터로, 어떻게 접근하는지 확인하고, 성과가 잘 나온 사례들을 적용해서 새롭게 현재 마주한 문제들을 해결할 수 있습니다. 

 

Step2. 기본 머신러닝 알고리즘


비즈니스 현장에서 적용 사례를 확인하고 실전 적용을 위한 기본기라고 생각하시면 좋습니다. 머신러닝에는 크게 지도학습, 비지도학습, 강화학습으로 나뉘고 지도학습에서는 회귀, 분류 비지도학습에서는 군집 등 다양한 종류와 방법으로 나뉩니다.

이러한 개념들을 익히고, 실제 프로그래밍으로 어떻게 구현하는지, 그 원리는 무엇인지 대략적으로 알고 있어도 실전에 적용하는데 큰 문제가 없습니다. 요즘 대세는 파이썬이기도 하고, 관련 라이브러리와 프레임워크가 잘 돼 있기 때문에 파이썬으로 시작하시는걸 추천드립니다.

기본적으로 숙지해야 할 내용들을 소개하자면

① 데이터 이해 : 데이터의 유형(명목, 이진, 순서, 이산형, 범주형 데이터) / 기술통계(평균, 표준편차 등)
② 데이터 전처리 : 결측치 제거 및 보간, 노이즈 제거, 정규화(데이터 범주 일치), 주성분분석, 샘플링 등
③ 알고리즘 : 상관관계, 연관관계, 클래스 분류(의사결정나무, 랜덤포레스트), 클러스터, 회귀 분석 등

 

 


위 내용이 어렵게 느껴질수도 있는데, 완벽히 암기하고, 완벽히 이해해서 내것으로 만들겠다는 접근보다는 전반적으로 어떤 개념이고, 어떤 내용인지 이해하고, 파악하고, 필요한 내용을 보고 따라서 구현할 수 있을정도의 실력까지 키우면 좋을 듯 싶습니다.

그럼 내용을 익히는 데 도움이 되는 책을 소개해드리겠습니다.

▶ 『데이터 마이닝 개념과 기법』(에이콘출판) - 각 알고리즘 동작 원리 이해 쉬움
▶ 『패턴인식』(교보문고) - 알고리즘의 수학적 설명 서술
▶ 『데이터 마이닝 기법과 응용』(한나래) - 알고리즘의 수학적 설명 서술


위 책을 활용해서 전반적인 데이터에 대한 개념과 처리, 알고리즘의 프로세스를 익히고, 이 개념들을 실제 현장 비즈니스에서 어떻게 사용하고 있는데 디테일하게 확인하는 게 좋습니다. 이 때 살펴보는 게 논문입니다.

<추천 논문 저널>

국내
▶ 『지능정보연구』
▶ 『한국경영과학회지』
▶ 『Information System Review』

국외
▶ 『IEEE Access』
▶ 『IEEE Transactions on Big Data』
▶ 『Information System Research』

 

Step3  수리 통계학


수리통계학을 공부해야 하는 이유는 우리가 사용하는 알고리즘에 대한 튜닝이 필요할 때, 좀 더 데이터와 문제에 맞는 방향으로 세팅하기 위해서 기본적인 이해가 바탕돼 있어야 하기 때문입니다. 수학적인 이론과 개념을 증명하고, 풀어야할 필요는 없고, 이해하는 선에서 익히는 방향을 추천드립니다.

<책 추천>

▶ 『수리통계학 개론』(경문사) - 수리통계학의 정석

 

<공부 방법>

1. 책 읽다가 수식 나오면 따라 적고, 이해해본다.
2. 이해가 안되면 구글링, 유튜브 등 인터넷을 활용해서 이해해본다.
3. 이해가 안되면 넘어간다.
4. 각 챕터별 연습문제는 해답을 보면서 이해해 보고, 해설과 정답을 적어본다. (증명이나 유도 문제는 건너띈다)

 

Step4. 딥러닝


딥러닝은 머신러닝의 한 종류다. 이 개념부터 시작해서, Neural Network의 개념, 오차역전파 등 다양한 개념을 익히고, 이런 이론과 개념을 어떻게 코드로 적용하는 지 숙지하는 과정이 중요하다.

<책 추천>

▶ 『딥러닝 제대로 시작하기』(제이펍) - 딥러닝의 기본 개념 정리
▶ 『밑바닥부터 시작하는 딥러닝』(한빛미디어) - 딥러닝 심화 & 기본 코드 내용까지 다룸
▶ 『케라스 창시자에게 배우는 딥러닝』(길벗) - 실전 딥러닝 모델 구현

<강의 추천>

▶ 『모두의 딥러닝 시즌1』 - https://youtu.be/BS6O0zOGX4E?list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm
▶ 『모두의 딥러닝 시즌2』 - https://youtu.be/qPMeuL2LIqY?list=PLQ28Nx3M4Jrguyuwg4xe9d9t2XE639e5C

책과 강의를 통해 기본기를 잘 다지길 추천드립니다.

출처 : https://velog.io/@kmnkit/Keras%EB%A1%9C-%EB%94%A5%EB%9F%AC%EB%8B%9D-%EB%AA%A8%EB%8D%B8-%EC%84%A4%EA%B3%84%ED%95%98%EA%B8%B0

 

Tip. 관심 가져볼만한 자격증


한 가지 유의할 점은 자격증이 목적이 아니라 실력 상승이 목적입니다. 즉, 자격증은 안따도 사실 괜찮습니다. 물론 기왕 공부하는 김에 자격증도 따는게 좋긴 하겠지만, 무튼 우리의 목적은 실력입니다. 단순히 자격증을 따기 위한 시험에 맞춘 공부가 아니라 실력 상승을 위한 공부임을 명심하시길 바랍니다.

<자격증 소개>

[책에서 소개하는 자격증]
▶ 데이터 분석 자격검정 - 한국데이터 산업 진흥원
▶ SQL 자격검정 - 한국데이터 산업 진흥원
▶ 사회조사분석사 필기 - 한국산업인력공단
▶ 경영빅데이터분석사 - 한국경제

[추가]
▶ 정보처리기사 - 한국산업인력공단
▶ 빅데이터 분석 기사 - 한국데이터 산업 진흥원

 

<자격증 공부를 위한 책 추천>

▶ 『데이터 분석 전문가 가이드』 for '데이터 분석 자격검정'
▶ 『경영 빅데이터 분석사』 for '경영 빅데이터 분석사'
▶ 『SQL 전문가 가이드』 for 'SQL 자격검정'

 

자격증과 공부에 필요한 책들을 간략히 추천드렸습니다. 자격증은 오랜 기간 보다는 단기간에 집중해서 취득하는 것을 추천드리고, 그만큼 내용을 깊게 보는 것이 아니라 전반적인 흐름과 개념을 잡는다는 생각으로 빠르게 공부하시길 추천드립니다.
그리고 SQL 자격검정 시험에서는 데이터 모델링, 기본적인 SQL 쿼리 부분을 중점으로 숙지하는 게 도움이 됩니다.

그럼 지금까지 AI 머신러닝/딥러닝 성장 루트 및 가이드, 공부법에 대한 소개를 마치겠습니다. 감사합니다.

+ Recent posts