일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- sql정리
- 서비스기획
- 스타터스부트캠프
- 특성중요도
- 유데미부트캠프
- SQL
- 유데미코리아
- 유데미큐레이션
- 추천시스템
- 부트캠프후기
- AARRR
- 딥러닝
- SLASH22
- 취업부트캠프
- AWS builders
- BERT
- NLP
- 취업부트캠프 5기
- pytorch
- 그로스해킹
- 서비스기획부트캠프
- 사이드프로젝트
- 알고리즘
- 그래프
- 스타터스
- 토스
- 데이터도서
- 임베딩
- NLU
- MatchSum
- Today
- Total
목록AI 일별 공부 정리 (61)
다시 이음
안녕하세요. 오늘 부터는 알고리즘 자료구조의 중급 과정이라고 할 수 있는 부분을 살펴보려고 합니다. 첫 주자는 해시(Hash)인데요. 해시라고 하면 해시태그를 먼저 생각하실 수 도 있는데 이 해시태그(#)와는 상관이 없습니다. 대신 블록체인에서 해시함수는 중요한 원리로 작용한다고 합니다. 어떤 부분에서 활용되는지는 본문에서 해시에 대해서 공부를 하고 다시 찾아보면 이해가 되실 겁니다. 해시(Hash) 1. 해시 테이블(Hash Table) 해시 테이블은 키(key)와 값(value)이 쌍을 이뤄 매핑할 수 있는 추상 자료 구조 입니다. 이 키와 값을 매핑시키는 과정을 해싱(Hashing) 이라고 합니다. 키가 매핑이 되기 위하여 해시함수를 거쳐 해시값(정수값)에 매핑이 되는 과정을 가지고 있습니다. 해시..
안녕하세요. 오늘은 이전에 배운 선택정렬, 삽입정렬, 버블정렬에 이어 분할정복이라는 개념을 적용하여 사용되는 퀵정렬과 병합정렬에 대해서 알아보려고 합니다. 분할 정복 ( Devide and Conquer ) 분할 정복법은 재귀적으로 자신을 호출하면서 그 연산의 단위를 조금씩 줄어가는 방식입니다. 분할 정복법은 분할 - 정복 - 결합의 과정을 거칩니다. 자세히 말하면, 큰 문제를 작은 문제로 분할(divide)하고, 작은 문제를 하나하나 해결(conquer)하고, 해결된 문제를 하나의 큰 문제로 결합(combine)하는 과정입니다. 분할정복의 장점 어려운 문제를 작은 문제로 나눔으로써 쉽게 해결합니다. 작은 문제를 분할하여 같은 작업을 더 빠르게 처리합니다. 병렬로 문제를 해결할 수 있습니다. 분할정복의 ..
안녕하세요. 오늘은 대표적인 알고리즘인 탐색 알고리즘과 정렬 알고리즘에 대해서 정리해보려고 합니다. 탐색 알고리즘 탐색 알고리즘 이란 : 원하는 데이터를 찾아내는 알고리즘 입니다. linear search (선형 탐색) 앞에서 부터 차례대로 탐색하는 알고리즘 반복문을 사용하여 데이터만큼 검색을 진행합니다. Binary search (이분 탐색) 범위를 반씩 줄여나가면서 탐색하는 알고리즘 ( 시간 복잡도 = logn ) 이미 데이터가 정렬된 상태에서만 적용 가능하다. 복잡한 계산을 할때에는 반복이 많이 필요하기 때문에 시간과 메모리를 크게 잡아먹는다. 반복 정렬 알고리즘 ( lterative sorting ) Selection Sort ( 선택 정렬 ) 전체 배열을 한번 반복하면서 가장 작은 수를 비교하여..
안녕하세요. 오늘은 어제 배웠던 선형 자료구조에 이어서 비선형 자료구조인 트리구조와 재귀(Recursion)에 대해서 알아보려고 합니다. 비선형 자료구조 트리(Tree) 1. 트리의 용어 루트(Root) : 가장 위쪽에 있는 노드, 트리별 하나만 있습니다. 서브트리 : 자식노드이면서 부모노드역할을 하는 노드가 있는 트리, 그림상에 (5,3,6노드를 하나의 서브트리로 볼 수 있습니다.) 차수 : 노드가 갖고 있는 최대 자식노드 수 리프(Leaf) : 레벨별로 가장 마지막에 있는 노드, 단말노드(terminal node), 외부노드(external node)라고도 합니다. 리프는 트리별로 여러 개가 있을 수 있습니다. 레벨(Level): 루트노드에서 얼마나 멀리 떨어져 있는지 각각 나타냅니다. 높이(Dept..
안녕하세요. 오늘은 알고리즘을 배우기 위해 필요한 자료구조 기초에 대해서 알아보려고 합니다. 자료구조 ( Data Structure ) 자료를 쉽게 관리하기 위해 다양한 구조로 묶는 것 입니다. 각각의 자료구조마다 장단점이 존재(효율성)해서 다양한 구조가 있습니다. 자료구조의 단위 처리 절차의 대상의 되는 것이 자료 = 데이터입니다. 변수 데이터 처리를 실시하는 가장 기본적인 구조 입니다. 데이터의 처리 과정 데이터 -> 입력 -> 컴퓨터(가공)-출력 -> 가공된 데이터 메모리 데이터는 메모리에 저장됩니다. 메모리 용량이 커졌습니다. Address 어느 서랍(메모리)에 어떤 데이터를 저장했는지 기억해서 주소를 지정합니다. 배열 같은 데이터 형태의 여러 변수를 모아 관리하는 구조 입니다. 배열을 사용하면 ..
안녕하세요. 오늘은 딥러닝 섹션의 마지막 GAN(Generative Adversarial Networks) 생성적 대립 신경망에 대해서 알아보도록 하겠습니다. 사실 코드에 대해서는 너무나도 어려운 부분이기 때문에 이론에 대한 부분만 다루도록 하겠습니다. 생성적 대립 신경망(Generative Adversarial Networks) 생성적 대립 신경망은 말 그대로 새로운 것을 생성하는 모델이면서 한 모델안에 대립구도를 가지는 모델입니다. GAN의 목표는 있을 법한 이미지를 생성하는 것입니다. 1. GAN의 기본 구조 GAN은 생성자(Generator)와 감별자(Discriminator)로 이루어져 있습니다. - Generator Generator는 말 그대로 이미지를 생성하는 하는 모델인데, 그 무엇보다 ..
안녕하세요. 오늘은 오토인코더(Autoencoder)에 대해서 알아보려고 합니다. 어제 배운 U-net과는 구조를 볼때는 크게 다르지 않아서 이해하는 데에는 어렵지 않을 것입니다. 그러나, 분명히 U-net,FCN과는 여러가지 다른점이 있다는 점을 염두하시고 보시면 이해가 잘되실 것 같습니다. Autoencoder AutoEncoder의 가장 큰 특징은 Input과 output이 같다는 것 입니다. -> 이 말은 곧 따로 Label이 필요하지 않다는 것입니다. Label이 필요없는 비지도학습에서 지도학습으로 문제를 바꾸어 해결하는 것으로 볼 수 있습니다. (Why? input 데이터가 곧 label이 되기입니다.) 위의 그림을 통해 Autoencoder의 구조를 살펴볼 수 있는데요. 구조의 모양이 U-n..
안녕하세요. 오늘은 Image Segmentation(이미지 분할) & Data Augmentation(데이터 증강) & Object Recognition (객체인식) 에 대해서 알아보려고 합니다. 어제는 시각적 데이터를 분류할 수 있는 인공신경망 CNN에 대해서 알아보았습니다. 오늘은 하나의 이미지에서 하나의 분류를 하는 CNN에서 좀더 발전되어 하나의 이미지에서 여러가지 분류를 하는 방법들을 보겠습니다. Image Segmentation(이미지 분할) Semantic Segmentation이란, 이미지내의 객체들을 의미있는 단위로 분할하여 픽셀별(pixel-wise)로 분류(Classification)하는 것입니다. Instance Segmentation은 Semantic Segmentation에서 ..
안녕하세요. 오늘은 자연어 처리를 지나 이미지 처리에 관한 신경망구조를 살펴보려고 합니다. Convolutional Neural Networks 합성곱 신경망(Convolutional neural network, CNN)은 시각적 영상을 분석하는 데 사용되는 다층의 피드-포워드적인 인공신경망의 한 종류입니다. 사실 우리는 딥러닝을 배우면서 처음에 Fully Connected Layer를 통해서 이미지를 구분하는 방법에 대해서 알아본 적이 있습니다. 하지만, 사진 데이터로 전연결(FC, Fully Connected) 신경망을 학습시켜야 할 경우에, 3차원 사진 데이터를 1차원으로 평면화시켜야 합니다. 즉, Fully Connected Layer만으로 구성된 인공 신경망의 입력 데이터는 1차원(배열) 형태로..
안녕하세요. 오늘은 Transformer라는 자연어 처리 모델중 어제 알아보았던 Attention 메커니즘의 기능을 최대화 하여 사용하는 모델에 대해서 알아보려고 합니다. Transformer 논문 : https://arxiv.org/abs/1706.03762 : Attention is All you need 라는 논문으로 트랜스포머 관련해서는 가장 유명한 논문이라고 합니다. Transformer 트랜스포머는 RNN의 순차적으로 단어가 입력되는 방식에서 단어가 많아질 수록 연산속도가 느려지는 문제점을 보완하고자 고안되었습니다. 트랜스포머는 단어를 입력받을 때 병렬화를 사용하며 그에 따라 GPU 연산에 최적화 되어있습니다. Transformer 구조 먼저 위의 그림을 설명하자면 왼쪽은 트랜스포머 안에 1개..