전체 글 108

[문화데이터 경진대회] 제10회 문화데이터 활용 경진대회 데이터 분석 부문 :: 대상 후기

학회원들이랑 도전해 본 첫 데이터분석 경진대회! 그리고 대상 = 장관상을 받아 본 첫 경진대회! 라는 점에서 뜻깊은 대회이다. 💫참가한지도 3년 정도 지난 것 같은데 .. 아직도 장관상을 탔었다는게 실감나지 않는다.그리고 시상식에서 정말 많은 명함들을 주셨는데 너무 어렸던지라 어리바리 .. 데헷 큥 .. 을 시전하느라 원하시는 답변이나 요구사항을 잘 못받아먹었던게 조금 아쉽긴 하다. 지금 참가했더라면 나은 모습을 보여드릴 수 있을텐데 ㅜㅜ 1. 공모전 개요 나는 참가분야 중 데이터 분석 부문에 참가했다. 이후 시상식 자리에 가서 다른 부문 수상자분들을 만나뵐 수 있었는데, 거의 다 스타트업이나 실제 기업에서 TF팀으로 나오신 분들이 지원금 받기 위해서 참여하신 분들이더라는 .. 비하인드 ... 너무 ..

회고/공모전 2023.11.17

[LH 한국토지주택공사] 2022 LH 김해시 국토도시 데이터 분석 :: 최우수상 수상후기

이번은 2022년도에 진행한 김해시 국토도시 데이터분석 대회 최우수상( 🎉 1등🎉) 후기를 써보도록 하겠다. 외부기관 제공 데이터로 진행한 첫 대회인 만큼, 엄청난 투지와 열정을 갖고 임했던 대회이다. 지금은 어떨지 모르겠지만, 22년도까지만 해도 LH에서 매년 2회 이상 지역사업 관련해서 경진대회를 개최했던 만큼 데이터 분석에 도전하고 싶은 대학생들이 많이들 주목하던 대회였다! 그래서 향후 대회가 올라올 것만 기다리다가 공고가 뜨자마자 교내 학회 안에서 팀원들을 꾸려서 함께 참가했던 기억이 물씬 난다. 과정이 즐겁지만은 않았어서 기억에 많이 남는 대회이기도 하다. 하지만 여기서 또 최고의 팀원들을 만날 수 있었던 소중한 대회였던 ㅎㅎ 1. 공모전 개요김해시 제공 데이터를 통해 김해시의 신규 CCTV..

회고/공모전 2023.11.17

[빅콘테스트] 2022 빅콘테스트 데이터분석 퓨처스 부문 :: 최우수상 수상후기

공모전을 참 열심히 참가하던 2022-2024년도 시절을 회상하며 .. 공모전 후기글을 정리해볼까한다. 너무 오래 전 일이긴 하지만 지금이라도 쓰지않으면 오만년이 흘러가버릴 것 같아서 ㅎㅎ 이때까지 수상한 데이터/AI 경진대회가 총 7개 정도 되는데, 전부 다 아카이빙하기보다 유의미한 성적/의미가 있는 대회만 선정해서 후딱 정리해볼까한다! 그래서 처음 작성할 공모전은 바로 2022 빅콘테스트이다. 이렇게 대규모 대회에 나가본 것도 처음이고, 대용량 데이터를 핸들링해본 것도 처음이라 모든게 재밌었던 대회라 기억에 남는다. 1. 공모전 개요약 2개월정도의 준비기간이 주어졌고, 우리 팀은 이 중에서도 퓨처스 부문 문제를 선정하게 되었다. 우선 가장 도메인 특화된 주제라 생각해서 고르기도 했고, 당시 학회원..

회고/공모전 2023.11.17

[Pytorch] 파이토치 Dataset, Dataloader

torch에는 데이터를 처리하기 위해 torch.utils.data.DataLoder와 torch.utils.data.Dataset의 두가지 요소를 제공 dataset : 미리 준비된 데이터셋을 불러 올 수 있으며, 가지고 있는 데이터와 라벨을 저장 dataloader : dataset을 데이터에 쉽게 접근할 수 있도록 batch를 설정해 iterable(반복가능객체)로 만듦. Dataset 관련 모듈 torch.utils.data: 데이터셋의 표준을 정의하고 데이터셋을 불러오고 자르고 섞는데 쓰는 도구들이 들어있는 모듈입니다. torchvision.dataset torchtext.dataset torchvision.transforms torchvision.tils Dataset의 기본 구성 요소 fro..

[Pytorch] 파이토치 nn.Module, nn.funcional (parameter, forward, backward연산)

torch.nn.Module & nn.funcional 두 패키지가 제공하는 기능은 비슷하지만 사용하는 방법에 차이가 있다. nn패키지 : 가중치(weight), 편향(bias) 값들이 내부에서 자동 생성되는 layer nn.functional : weight나 bias를 직접 선언 nn이 제공하는 기능 Parameters Containers Conv Layers Pooling Layers Padding Layers Non-linear Activation Normalization Layers Recuurent Layers Linear Layers Dropout Layers Sparse Layers Distance Functions Loss ... nn.functional이 제공하는 기능 Conv func..

[Pytorch] 파이토치 텐서(tensor) 기초함수, 연산

Tensor PyTorch 딥러닝 프레임워크는 현재 활발히 사용되는 프레임워크 중 하나입니다. PyTorch 의 tensor는 numpy의 ndarry와 비슷한 구조를 가지고 실제로 numpy와 tensor간의 변환이 가능하다. Tensor 생성 1차원 텐서 tensor = torch.FloatTensor([0., 1., 2., 3.]) 2차원 텐서 data = [[1, 2],[3, 4]] x_data = torch.tensor(data) numpy nd-array를 tensor로 변경 n_array = np.arange(10).reshape(2,5) # nd array를 PyTorch tensor로 변환합니다. t_array = torch.FloatTensor(n_array) print("ndim :"..

[논문 읽기] Attention IS All You Need (Transformer)

Transformer 0) Architecture 배경 seq2seq은 sequence가 길어지는 경우 앞부분의 gradient를 잘 반영못한 context vector를 이용하게 돼 기울기 소실 문제 발생 문맥 벡터 하나로는 모든 정보를 담기 힘듦. ⇒ attention mechanism을 이용하자 encoder에서 모든 hidden state를 보존 ⇒ 내적값을 구해서 alignment score 구하는 방식 채택 1) Input into Encoder input embedding 문장의 토큰을 원-핫인베딩으로 인코딩 후 가중치행렬 w와 내적(=인덱싱)함 이때 토큰은 sequential(x) parallel(한꺼번에) 입력되는 형태이므로 순서정보가 보존되지 않아, positional encoding ..

[논문 읽기] Neural Machine Translation by Jointly Learning to Align and Translate (Attention)

Attention 1. seq2seq의 한계 seq2seq란? 인코더 - 디코더라 불리는 두 개의 순환 신경망을 활용해 각각 입력 시퀀스를 벡터화하고 새로운 시퀀스를 출력하는 모델. ex) 기계번역 1) 압축에 따른 정보 손실 문제 인코더가 문장(시퀀스)을 길이에 상관 없이 하나의 고정된 크기의 벡터(Context Vecor)에 모든 정보를 압축하여 정보 손실 발생. 2) RNN의 기울기 소실 문제 기울기가 일정 수준 이하로 작아지면 장기 의존 관계 학습이 어려움. ex) 하이퍼볼릭 탄젠트 함수의 미분 → x가 0에서 멀수록 작아짐. 따라서, 입력 시퀀스(문장) 이 길어져도 출력의 정확도를 지킬 수 있는 기법 필요 → 어텐션! 2. 어텐션(Attention) 어텐션의 기본 아이디어 매 시점마다 전체 입력..

[논문 읽기] Sequence to Sequence Learning with Neural Networks (Seq2Seq)

Seq2Seq(Sequence-to-Sequence) 입력으로서, sequence of item을 받고 아웃풋으로도 sequence를 내어줌. 입력의 sequence of item 개수와 출력의 sequence of item개수는 같을 필요는 전혀 없다 ! ex) 입력을 3단어로 구성된 문장이어도, 4단어로 구성된 문장이 나올 수 있음 가변적인 길이의 source 문장의 문법적, 의미적 특징을 고정된 크기의 벡터로 압축하는 아키텍처 Encoder와 Decoder로 구성되어 있으며, encoder는 문장을 압축하는 역할, decoder는 문장을 생성하는 역할 입력된 정보를 어떻게 저장할 것이냐(인코더) → 어떻게 풀어서 반환할 것인가(디코더) Encoder의 역할 가변적인 길이의 source 문장의 문법적..

[논문 읽기] Generating Sequences With Recurrent Neural Networks (LSTM)

LSTM의 개요 RNN이, hidden state 하나만을 가지고, 모든 time step의 정보를 저장하고자 했다면, LSTM은 크게 2가지 구조를 통해서 RNN과의 차이점을 가짐 ① hidden state를 통해 short term memory (단기기억)를 조절하고 cell state를 통해 long term memory(장기 기억) 보존 ② forget, input, output, 3개의 gate를 통해 , 매 time step의 cell state와 hidden state, input에서 취할 정보의 양 결정 LSTM의 구조 LSTM의 구조는 총 4단계로 구분할 수 있음. Cell state를 도출하기 위해서, 1) forget gate와 2) input gate, new cell content..