for Robot Artificial Inteligence

LG전자 생산기술원 3차 면접

|

원래 전형이 2차까지 였는데. 3차 면접을 보게 되었다.

면접관에는 1명 인사담당자와 2명 임원 1명 생산기술원 원장님이 들어왔다.

  • 자기소개 해주세요
    • 설계와 개발이 좋아 기계공학을 전공하고 있는 이찬교 입니다. 세부 전공으로는 로봇을 전공하였으며 연구 분야로는 모바일로봇 시스템입니다. 최근 미디아 그룹에서 가정 로봇 개발 인턴을 하였고, 현재에는 PTC에서 AR/IoT 데모 어플리케이션 엔지니어로 일하고 있습니다.
  • 더 길게 해주세요
    • 졸업 논문으로는 Semantic SLAM Application을 이용한 모바일 로봇 탐색 및 네비게이션 시스템을 구축하였습니다. 이용한 Semantic SLAM Application에는 ORB-SLAM2와 Yolov3가 결합된 동적환경에서의 SLAM시스템 입니다. 그러나 카메라 기반의 슬램이다 보니 생기는 로컬라이제이션에 대한 오차를 줄요주고자 Wheel Encoder에서 생성되는 Wheel odometer값을 Visual Odometer값과 Extended Kalman Filter로 통해 퓨전을 하여 최적화 하였습니다. 그 외에도 3D Mappoints들을 2D ouccpide map으로 변환과 2D Image로 변환하여, Opencv의 이미지 프로세스 알고리즘을 이용하여서 탐색점을 찾았습니다. 또한 모션 플래닝으로는 PRM과 RRT*알고리즘을 사용하였으며, 주행 중 생기는 충돌은 2D occupied Mappoints들을 통해 일정 거리가 되면 물체를 고려하여 재 탐색하는 알고리즘을 계획하였습니다. 그 외에도 글로벌 맵이 설계가 되었으면 주어진 타겟으로 네비게이션을 하도록 하였습니다.
  • 본인 성격이 어떤거 같아요?

  • 학과에 친구 몇명 있어요?

  • 그니까 내성적인 성격을 극복하고 싶어서 노력하고 있다는거죠?

  • 엘지 말고 다른 곳 지원한 곳 있나요
    • 없습니다. 졸업 준비로 논문 바쁜 상태에서 다른 회사에 지원할 겨를이 없었습니다. 그러나 LG전자는 유학생들을 배려해서 자소서나 인적성이 없어 부담없이 지원할 수 있었습니다.
  • 자소서 없어서 지원했다 이건가요
    • 아까도 말씀 드렸다 시피, 그 상황에서는 그렇게 할 수 밖에 없었습니다. 그리고 그 이후에 엘지에 대해 연구를 하면서 CTO부문에서는 모바일 로봇을 개발을하고 생산기술원에서는 스마트 팩토리에 쓰이는 AGV를 개발하는것으로 알고 있습니다. 이는 제가 연구한 연구분야와 비슷하며 모바일 로봇에 관한 역량을 이어나가고 싶습니다.
  • 그니까 본인은 자소서 안써도 되서 지원했다는거 아니에요. 건방지네요. 어딜가도 잘 할 수 있다는 건가요?
    • 절대 그런거 아닙니다. 제 상황에서는 그것이 최선이였습니다.
  • 엘지 생산기술원이 뭐하는 곳인지 알아요?
    • 엘지 그룹 내 생산에 들어가는 장비 로봇들을 만드는 것으로 알고 있습니다.
  • 현재 면접보고 있는 장소는 어딘가요?
    • 마땅한 장소를 찾지 못하여서 현재 회사 컨퍼런스 홀에서 하고 있습니다.
  • 학교는 왜 8년이나 다녔나요
    • 2년은 군생활을 하였고, 1년은 복학 시기가 맞지 않고 공부에 대한 부담으로, 1년 동안 미국에 가서 유학을 하였습니다. 그리고 남은 1년은 교환학생을 다녀오면서 늦어졌습니다.
  • 어디 교환학생 다녀왔나요
    • 화중과기대와 하얼빈 원동 이공대를 다녀왔습니다.
  • 기억에 남는 교수님 있나요
    • 성재용 교수님이 가장 고맙고 기억에 남습니다.
  • 교수님은 무엇을 가르키나요
    • 유체역학을 가르킵니다.
  • 유체역학을 좋아하셨다는건데 왜 로봇을 공부하게 되었나요
    • 고영테크놀러지에서 일을 하면서 로봇에 대해 관심을 갖게 되었습니다.
  • 이력서 이거 엉터리 아닙니까 경력에 대해 아무것도 안써져있는데
    • 1년 이내의 경력은 쓰지 말라고 하셔서 안썻습니다.
  • 고영테크놀러지 훌륭한 회사인데 왜 나왔나요
    • 고영테크놀러지에서 한 업무도 좋았지만, 더 공부하고 싶어서 가게 되었습니다.
  • 고영테크놀러지 기술 어떱니까
    • 월드 클래스 회사입니다.
  • 왜 엘지 오고 싶으신건가요
    • 가정용 모바일 로봇과 스마트팩토리에 사용 되는 모바일 로봇을 개발하는 것으로 알고 있습니다. 이에 제가 연구한 분야이며 역량을 이어 나가고 싶어 지원하게 되었습니다.
  • 됐습니다 나가세요.

인성 위주의 면접이였던 것 같다. 첫 자소서 없이 지원해도 된다고 말했던게, 면접관님들 기분을 크게 상하게 한것 같다. 그 외에도 컨퍼런스 홀에서 면접했다고 얘기한 것, 왜 엘지 오고 싶은지에 대한 애매한 답변. 너무나 겉이 없어 솔직하게 말했던게 불합격으로 이어진것 같다.

Comment  Read more

81. 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기

|

#include <string>
#include <vector>
#include <iostream>
#include <map>

using namespace std;

vector<int> solution(int n, vector<string> words) {
    map<string,int> word;
    // initialized
    word[words[0]]++;
    for(int i = 1; i<words.size(); i++)
    {
        if(word[words[i]] || words[i].front() != words[i-1].back()) //word[words[i]] 만약 저장한거 있다면 false값으로 나온다.
            return {(i%n)+1,(i/n)+1}; // 틀린 사람, Player가 틀린 순서
        word[words[i]]++;

    }
    return {0,0};
}

Comment  Read more

likelihood(가능도) VS Probability(확률)

|

https://swjman.tistory.com/104

로봇공학을 공부하다 보면, 무조건 만나게 되는 개념 중에 가능도(likelihood)과 확률(Probability)라는 개념이 있다. (특히 Probabilisitic Robotics라는 엄청난 책도 있다.). 한 참 공부하다가 보면 이 기능도와 확률에 대해 헷갈리게 된다. 그래서 한번 복습할 겸 다시 한번 정리 해보고자 한다.

위키의 정의를 보면,

먼저 빈도학파의 관점에서 이야기 하며, 가능도 함수는 단순히 가능도라고 부를 수도 있고, 이것은 통계적인 모델의 파라미터의 함수를 말하는데 주어진 특정한 관찰된 데이터를 기반으로 한다. 가능도 함수들은 빈도 학파의 추론에서 주요한 역할을 하고 특히 통계치 집합으로부터 파라미터를 추정하는 방법으로 중요하다. 비공식적으로 “가능도”라는 것은 종종 “확률(Probability)”와 유사한 의미로 쓴다. 하지만 로봇공학에서는 이 두 가지 용어는 다른 의미를 지닌다.

확률이라고 하면, 주어진 모델 파라마티 값과 어떠한 관찰된 데이터에 대한 참조 없이, 랜덤 출력에 대한 일어날 뻔한 가능성이다.
즉, 로봇공학으로 이해하자면 x,y,z에 대한 관찰 데이터 값이 존재하지 않고, scale parameter도 존재하지 않지만 transition matrix 및 matrix relevant control input에 대한 모델을 통해 (x,y,z)의 변수 랜덤 출력 데이터 값을 가지고 상태에 대한 예측하는 것이다.
반면, 가능도라는 것은 주어진 특정한 관찰된 데이터를 기반으로 하여 모델 파라미터 값들이 될 뻔한 가능성이다.
즉 로봇공학으로 이해하자면 x,y,z 에 대한 관찰 값이 주어지고 이를 통해 scale parameter 및 모델 안에 존재하는 파라미터 값들을 예측하는 것이다.

그렇기 때문에 가능도와 확률의 차이는 명백하다. 위의 정의를 읽어 보면 알겠지만, 아예 대상 자체가 다르다. 확률의 경우에는 출력의 확률이다. 즉, x와 같은 랜덤 변수가 미지수가 될 것이다. 해당 랜덤 변수 x가 될 확률이 확률이고, 여기서 파라미터 값들은 다 주어진다고 본다. 그래서 연속 변수의 경우 아래와 같이 확률 밀도 함수가 확률에 대한 함수가 될 수 있겠다.

f(x|Θ)

그러면 가능도는 어떤가? 가능도의 경우에는 L이라고 따로 표기하며, 조건부의 순서가 확률과 반대인 것을 알 수 있다. 이번에는 x라는 랜덤 변수가 주어졌을 때, 세타 즉, 파라미터의 확률이 된다. 랜덤 변수가 주어진다는 것은 사실 전체 모집단에 대한 랜덤 변수를 모두 안다는 것은 불가능 하다. 그래서 위에 정의에서도 말했듯이, x는 일반적인 랜덤 변수가 아닌, 측정하거나, 알고 있는 샘플들에 해당한다. 이렇게 샘플이 있을 때, 해당 샘플이 있을 때, 파라미터들이 될 수 있는 확률이 가능도이다.

L(Θ|x)

이게 표기법 때문에 헷갈릴 수 있는데, 왜냐하면 가끔 이 둘이 수학적으로 같다고 하기 때문이다. 그런데 그것은 하나의 샘플 데이터에 대해서 이야기 한다면 같을 수 있겠지만, 보통은 하나의 샘플이 아닌 여러 개의 샘플 즉, n개의 샘플 데이터가 있는 상태에서 통계적 분석을 하게 된다. 따라서, 아래와 같은 형태가 제대로된 가능도의 형태가 된다.

무엇을 의미하는지를 잘 살펴보면, x가 의미하는 것은 여러 개의 샘플들이 되고, 각각의 샘플이 주어졌을때의 가능도를 모두 곱하게 된다. 앞에서 말했듯이, 샘플 하나에 대한 가능도는 확률과 같기 때문에(위의경우 연속 변수이니 확률 밀도 함수와 같다) 그래서 f라고 표기한 확률을 사용해서 가능도를 만들며, 앞에 곱하기 표시를 해서 각 샘플에 대해서 모두 곱하는 것이다. 여기서 왜 곱하기를 하는지 생각해보자. 그것은 다름 아닌, 아래와 같이 가능도가 샘플이 여러 개일 때, joint probability와 같게 되는데, 이 때, 각각의 샘플들의 확률들에 대해서 조인트로 일어날 확률이 가능도가 된다. 그런데 보통 샘플들을 취급할때, 독립성을 가정하기 때문에 조인트 확률은 단지 곱셈으로 대체가 되기 때문에 이러한 곱셈이 적용될 수 있다는 것도 기억하자.

EXAMPLES

Probability

Likelihood

SUMMARY

REFERENCE

[출처] [수리통계학] 가능도는 확률과 어떻게 다르지? (가능도(Likelihood) VS. 확률(Probability))|작성자 PN

Comment  Read more

Log odd, Logit에 대한 이해(Logistics Regression에 많이 쓰임)

|

Log odds play a central role in logistic regression. Every probability can be easily converted to log odds, by finding the odds ratio and taking the logarithm.

Despite the relatively simple conversion, log odds can be a little esoteric. Jaccard (2001, p.10) calls them “…counterintuitive and challenging to interpret,” especially if you don’t have a strong statistical background. That said, the formulas are relatively simple, even if the results are a little challenging to decipher.

Conversions: Probability to Odds to Log of Odds

Probability, odds ratios and log odds are all the same thing, just expressed in different ways. It’s similar to the idea of scientific notation: the number 1,000 can be written as 1.0 * 103 or even 1 * 10 * 10 * 10. What works for one person, or one equation, might not work for another. In many cases, you can simply choose which format you want to use. Other times (for example, you’re publishing a paper or are using logistic regression), you might be forced to adopt a particular format.

Probability is the probability an event happens. For example, there might be an 80% chance of rain today. Odds (more technically the odds of success) is defined as probability of success/probability of failure. So the odds of a success (80% chance of rain) has an accompanying odds of failure (20% chance it doesn’t rain); as an equation (the “odds ratio“), that’s .8/.2 = 4. Log odds is the logarithm of the odds. Ln(4) = 1.38629436 ≅ 1.386.

Conversion to log odds results in symmetry around zero, which is easier for analysis, as shown in the following table (Jaccard, 2001):

Log Odds and the Logit Function

The odds ratio is the probability of success/probability of failure. As an equation, that’s P(A)/P(-A), where P(A) is the probability of A, and P(-A) the probability of ‘not A’ (i.e. the complement of A).

Taking the logarithm of the odds ratio gives us the log odds of A, which can be written as

log(A) = log(P(A)/P(-A)),

Since the probability of an event happening, P(-A) is equal to the probability of an event not happening, 1 – P(A), we can write the log odds as

log [p/(1-p)]

Where: p = the probability of an event happening 1 – p = the probability of an event not happening

When a function’s variable represents a probability,p (as in the function above), it’s called the logit function.

Using Log Odds

We sometimes choose to use log odds instead of more basic probability measures because they’re so easily updated with new data.

For instance, suppose you have a 5% chance that a thief will come in at your door on any given night. You have a watch dog, but he’s not terribly reliable; he’ll bark half the time if a thief comes, and just 1/4 of the time if the person walking by is an honest man. Now imagine you hear footsteps, and the dog barks.

Before your dog barked, the log odds of a thief were ln(.05/.95) = ln(1/19), or -2.9444. We call that your prior log odds for the thief. The likelihood ratio of a bark is just the probability of a bark with a thief(1/2) over the likelihood of a bark with no thief (1/4), and to find the log odds we take the log of that: ln((1/2)/(1/4)) = log(2) = 0.6931. Now the posterior log odds of the thief—the log odds that there is a thief, given you’ve just heard the dog bark—is -2.9444 + 0.6931, or -2.2251.

Since the ln(odds ratio) = log odds, e^(log odds) = odds ratio. So to turn our -2.2251 above into an odds ratio, we calculate e-2.2251, which happens to be about 0.1053:1. So the probability we have a thief is 0.1053/1.1053[odd ratio/(1+odd ratio)] = 0.095, so 9.5 %. Notice how we converted the odds ratio to a probability by dividing the first part of the ratio with the sum of both parts (the total). Notice also that we came to our final answer without any involved calculations, assuming, of course, we have a calculator to help us with the logarithms.

We’ve used natural logs here; you can actually use logs in any base, you just need to be consistent.

Comment  Read more

Similarity Transformation

|

  • Rigid Transformation(강체 운동) 에 scale 추가된 형태
  • 그래서 크기만 달라졌지 유닛 벡터들은 같다.

Comment  Read more