전체 글
-
-
[백준, Python] 1110번: 더하기 사이클알고리즘 2023. 1. 22. 18:36
https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제설명 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이..
-
-
-
STAC2022를 돌아보며외부대회 2022. 12. 10. 02:21
고등학교 3학년이 된 해였다 인공지능을 공부하던 중에 스마틴 앱 챌린지 대회가 개최되었다는 기사를 보았다 나름대로 큰 규모의 대회였기 때문에 한번 쯤은 나도 꼭 입상을 해보고 싶다는 생각을 늘 지니고 있었다 따라서 나는 STAC2022 접수기간이 되자마자 매우 신중하게 팀을 꾸려서 AI 부문으로 접수를 하게 되었다! 팀원들끼리 작년 수상작과 같이 참고될 것들을 보면서 올해 STAC2022의 주제였던 "환경"에 관련된 아이디어에 대해 회의를 진행했고, 그 결과로 "Model Student" 서비스를 기획하게 되었다 예선을 통과하기 위해선 기획안을 토대로 문서를 작성해 예선서류로 제출했어야 했기에 담당 선생님께 양해를 구하고 1교시부터 7교시까지 전부 대회를 준비하는데 시간을 쏟아 부었다 팀원들끼리 모여서 ..
-
합성곱 신경망(Convolution Neural Network)인공지능 2022. 11. 20. 01:23
CNN이란? - Convolution Neural Network의 약자로 딥러닝에서 주로 이미지나 영상 데이터를 처리할 때 쓰이는 모델이다. 뿐만 아니라 CNN은 DNN의 문제점을 해결하기 위해 사용하기도 한다. Deep Neural Network의 문제점? DNN은 기본적으로 1차원 형태의 데이터를 사용해서 이미지를 학습한다. 따라서 1028x1028같은 2차원 형태의 이미지가 입력 값이 되는 경우에 이를 flatten시켜서 한줄 데이터로 만들어야 하는데 이 과정에서 이미지의 공간적/지역적 정보가 손실된다. (CNN 모델을 사용하면 이미지를 날것 그대로 받음으로써 공간적/지역적 정보를 유지한 채 특성(feature)들의 계층을 추출하게 되며 DNN의 문제점을 보완할 수 있다.) 1. Convolutio..
-
경사하강법 [Optimizer]인공지능 2022. 11. 17. 14:08
SGD란? - 딥러닝 알고리즘 학습할 때 사용되는 최적화 방법 중 하나로 1차 미분계수를 이용해 함수의 최소값을 찾아가는 반복적인 방법이다. (Loss Function이 0에 수렴하면 학습이 잘 된 것이라고 볼 수 있다) 기울기란 미분 가능한 N개의 다변수 함수 f를 각 축이 가리키는 방향마다 편미분한 것이다. Gradient를 수식으로 나타내면 아래와 같다. # Step size 경사하강법에서 step size 선택은 매우 중요한 요소다. Step size가 큰 경우 이동 거리가 커지므로 빠르게 수렴할 수 있다는 장점이 있지만, 최소값으로 수렴되지 못 하고 함수값이 발산할 여지가 있다. 한편, step size가 너무 작으면 발산하진 않지만 최소값을 찾는데 너무 오래걸린다는 단점이 있다. # Local..
-
순환 신경망 예제 [RNN]인공지능 2022. 11. 16. 18:33
RNN을 구현하는 방법 - Keras에서 간단하게 구현할 수 있는 함수를 제공해주고 있다. --> layer_simple_rnn() layer_simple_rnn() 함수는 3가지의 인자 값을 요구한다. 1) batch_size : 한 번에 학습하는 데이터의 개수를 의미함 2) timesteps : 입력 시퀀스의 갯수 3) input_dim : 각 입력 시퀀스의 차원 여기서 input_dim을 제외하고는 값을 주지 않아도 None으로 대체된다는 특징이 있다. 위 레이어에는 총 2가지 모드로 사용할 수 있다. 1) 출력을 3차원으로 하여 연속적으로 사용하는 모드 - return_sequences 값을 True로 주면 된다. ("이 레이어의 현재 상태 값을 다음 출력 값에 영향을 미쳐야겠다" 라고 인식한다...