목록전체 글 (89)
코딩세상
- 데이터 증가와 딥러닝 모델의 한계점 실생활 문제 데이터의 차원이 증가하고, 구조가 복잡해졌습니다. 즉, 이로인해 다양한 문제가 발생하게 되고 , 기술려그이 부족으로 딥러닝 기술은 실질적인 한계를 마주하게 됩니다. - 다양한 문제점 위에서 설명한 것처럼 데이터 문제 이외에도 딥러닝 모델을 훈련시키면서 발생하는 다양한 문제점이 존재합니다. 학습속도 문제 기울기 소실 문제 초기값 설정 문제 과적합 문제 - 1. 학습 속도 문제 우선 학습 속도 문제에 대해서 알아보겠습니다. 왜 딥러닝을 진행하면서 학습 속도의 문제가 발생하게 될까요? 그건 바로 데이터의 개수를 통해 알 수 있습니다. 최근에 데이터의 양이 과거에 비해 폭발적으로 증가하면서 우리가 여러개의 과목을 공부하면 그만큼 시간이 더 오래 걸리듯이 딥러닝..
문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 입출력 예 x return 10 true 12 true 11 false 13 false 입출력 예 설명 입출력 예 #1 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 입출력 예 #2 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. 입출력 예 #3 11의 모든 자릿수의 합은 ..
문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 phone_number는 길이 4 이상, 20이하인 문자열입니다. 입출력 예 phone_number return "01033334444" "*******4444" "027778888" "*****8888" def solution(phone_number): answer = '' for i in range(len(phone_number)-4): answer += '*' answer = answer + phone_nu..
- 딥러닝 모델 구현 순서 딥러닝 모델은 아래와 같은 순서로 진행되게 됩니다. 데이터셋 준비하기 딥러닝 모델 구축하기 모델 학습시키기 평가 예측하기 오늘은 딥러닝 모델을 구현하는 4단계를 알아보겠습니다. - 1. 데이터셋 준비하기 : Epoch와 Batch 데이터셋을 준비하는 과정은 여러가지 과정을 통해 준비할 수 있습니다. AI 허브, 공공데이터포털과 같은 데이터셋 사이트를 이용하여 원하는 데이터셋 탐색, kaggle 서칭을 통한 데이터셋 탐색, 직접 필요한 데이터 셋 제작 등 많은 방법을 확인 할 수 있습니다. 이렇게 데이터셋을 준비하면 학습 시키기 전에 우리는 이러한 데이터셋을 얼마나 분리하여 인공지능 모델에 학습시킬지 정할 수 있습니다. 데이터의 양, 복잡도에 따라 우리가 설정하는 하이퍼 파라미터..
문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력 예 a b result [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 입출력 예 설명 입출력 예 #1 a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다. 입출력 예 #2 a와 b의 내적은 (-1)*1 + 0*0 + 1*(-1)..
문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 입출력 예 absolutes signs result [4,7,12] [true,false,true] 9 [1,2,3] [false,fals..
- 텐서 다뤄보기 텐서 플로우에서는 텐서(Tensor)형으로 생성되는 연산을 제공합니다. 이러한 텐서는 다양한 타입을 가지고 있습니다. 상수 텐서 시퀀스 텐서 변수 텐서 가 있으며, 각각의 텐서들은 우리가 프로그램을 작성할 때 사용하는 역할과 동일한 역할을 합니다. - 상수 텐서(Constant Tensro) import tensorflow as tf # 상수형 텐서 생성 tensor_a = tf.constant(value, dtype=None, shape=None, name=None) 상수 텐서는 그 의미대로 변하지 않는 값을 가지는 텐서를 의미합니다. 각각의 값이 의미하는 바는 아래의 표와 같습니다. value : 반환되는 상수값 shape : Tensor 차원 dtype : 반환되는 Tensor 타..
문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. 입출력 예numbersresult [1,2,3,4,6,7,8,0] 14 [5,8,4,0,6,7,9] 6 입출력 예 설명 입출력 예 #1 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다. 입출력 예 #2 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다. ______..
문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 12 11 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 입출력 예 #2 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. __________________________________________________..
- 딥러닝 모델 구현을 위해 학습해야 할 분야 딥러닝 모델을 작성하기 위해서는 파이썬을 알고 있어야하며, 딥러닝 모델은 좋은 연산 장치에 따라 성능이 달라지므로 하드웨어에 대한 지식을 가지고 있어야하며 이러한 연산장치를 제어하기 위해서 C/C++을 알아야 하는 등 배울 것을이 너무 많습니다. - 프레임워크를 통한 딥러닝 모델 구현 우리가 직접 딥러닝 모델을 직접 구현하기에는 너무 복잡하기 때문에 딥러닝 모델의 학습과 추론을 위한 프로그램들이 현재는 많이 구현되어있습니다. 대부분 텐서플로, 파이토치에 대해 많이들 들어보셨을텐데, 우리는 이러한 프레임워크를 통해 딥러닝 모델을 쉽게 구현하고 사용할 수 있게 되었습니다. - 프레임워크 선택하기 그러면 우리는 어떤 프레임워크를 사용하는 것이 가장 좋을까요? 그에..