빅데이터 처리 기술 — 수집부터 시각화까지
앞 글의 지식 창조 네 단계에 기술을 얹으면 이렇게 된다.
| 단계 | 구간 | 기술 |
|---|---|---|
| 공통화 | 생성 · 수집 | DB, IT 시스템, 크롤링, ETL, 로그, 센서 |
| 표출화 | 저장 · 처리 | NoSQL, 분산 파일시스템, 하둡, 스파크 |
| 연결화 | 분석 | 요인분석, 군집, 마이닝 |
| 내면화 | 시각화 | BI, 대시보드 |
수집
크롤링, ETL, 로그 수집, 센서 네트워크, Open API, RSS 리더.
원천이 내부냐 외부냐로 갈린다. 내부는 이미 형식이 정해져 있어 ETL 로 끌어오면 되고, 외부는 형식을 우리가 못 정하므로 크롤링·API 로 받아서 맞춰야 한다.
저장
NoSQL — 관계형 DB 의 ACID(원자성·일관성·독립성·지속성)를 일부 포기하는 대신 확장성을 얻는다. 특히 즉시 일관성 대신 최종적 일관성을 택한다. Cloudata, HBase, Cassandra, MongoDB.
공유 데이터 스토어 — CAP 정리에 따라 일관성(Consistency)·가용성(Availability)·분할 내성(Partition tolerance) 중 하나를 포기한다. 분산 환경에서 P 는 버릴 수 없으므로 실제로는 C 와 A 사이의 선택이 된다.
병렬 DBMS — 다중 처리 장치로 질의와 I/O 를 동시에 처리한다. VoltDB, SAP HANA, Vertica, Greenplum, Netezza.
분산 파일시스템 — GoogleFS, HDFS, Amazon S3.
네트워크 스토리지 — SAN(Storage Area Network), NAS(Network Attached Storage).
처리
| 방식 | 뜻 |
|---|---|
| 분산 시스템 | 네트워크 상의 여러 노드를 하나처럼 쓴다. 각 노드는 독립적이다 |
| 병렬 시스템 | 작업을 쪼개 나눠 주고 동시에 처리한다 |
| 분산·병렬 컴퓨팅 | 둘을 합친 것. 미들웨어가 중간을 맡는다 |
하둡은 대용량 데이터의 분산 처리 환경이다. 셋으로 나뉜다.
| 구성 | 역할 |
|---|---|
| HDFS | 분산 파일 저장 |
| HBase | 분산 컬럼형 NoSQL DB |
| MapReduce | 분산 처리·분석 |
MapReduce 의 흐름은 Input → Split → Mapping → Shuffle → Reduce → Output 이다. Split 에서 쪼개고 Mapping 에서 각자 세고 Shuffle 에서 같은 키끼리 모은 뒤 Reduce 에서 합친다.
Apache Spark 는 실시간 분산 컴퓨팅 플랫폼이다. 중간 결과를 디스크가 아니라 메모리에 두는 In-memory 방식이라 하둡보다 빠르다. 반복 연산이 많은 머신러닝에서 차이가 크게 난다.
분석
요인분석은 두 갈래로 나뉜다.
| 무엇을 보는가 | |
|---|---|
| 탐색적 요인분석(EFA) | 변수들 사이의 관계를 찾는다. 구조를 모르는 상태에서 시작 |
| 확인적 요인분석(CFA) | 미리 세운 구조가 맞는지 확인한다 |
방법으로는 분류, 군집, 기계학습, 텍스트 마이닝, 웹 마이닝, 오피니언 마이닝(댓글), 리얼리티 마이닝(관계·행동), 감성분석, 소셜네트워크 분석이 있다.
그 위의 AI
머신러닝의 네 갈래
| 갈래 | 목표(정답)의 유무 | 푸는 문제 |
|---|---|---|
| 지도학습 SL | 있다 | 분류 · 회귀 |
| 준지도학습 SSL | 일부만 있다 | 비지도보다 성능이 좋다 |
| 비지도학습 USL | 없다 | 군집, 오토인코더, 생성적 적대 신경망 |
| 강화학습 RL | 보상으로 대신한다 | 선택에 대한 보상을 최적화 (행동심리 기반) |
정답이 “있다 / 일부 / 없다 / 보상으로 준다” 네 칸으로 갈린다고 보면 외울 것이 없다.
딥러닝
깊은 구조로 엄청난 양의 데이터를 학습한다는 것이 특징이다.
| 약어 | 이름 |
|---|---|
| DBN | Deep Belief Network |
| LSTM | Long Short-Term Memory |
| RNN | Recurrent Neural Network |
| CNN | Convolutional Neural Network |
| DQN | Deep Q-Network |
| — | Auto-encoder |
기술 동향
- 전이 학습 — 이미 학습된 모형을 다른 문제에 옮겨 쓴다. 그 위에 사전 학습 모형이 얹힌다.
- BERT (Bidirectional Encoder Representations from Transformers) — 양방향으로 문맥을 읽는 인코더. 언어 이해 과제의 판을 바꿨다.
- GAN — 생성적 적대 신경망. 만드는 쪽과 가려내는 쪽을 경쟁시킨다.
- Auto-encoder — 입력을 저차원으로 압축했다가 다시 복원한다.
- XAI — 설명 가능한 AI.
- AutoML — 모델 선택과 하이퍼파라미터 탐색을 자동화한다.
- 프레임워크는 TensorFlow(구글), Keras.
데이터 확보가 병목이다
빅데이터를 모은 다음에는 주석 처리(애노테이션) 가 남는다. 이건 사람 손으로 하는 노동 집약적 작업이고, 여기서 나온 양질의 데이터가 AI 성능을 좌우한다. 모델 구조를 바꾸는 것보다 라벨을 다시 다는 쪽이 성능을 더 올리는 경우가 많다.