Apparatus and method for generating machine learning-based prediction model for predicting difference between intended training intensity of coach for training session and perceived exercise intensity of player participating in training session
A machine learning-based prediction model quantifies the difference between coach-intended and athlete-perceived training intensity, enabling personalized training programs that enhance performance and reduce injury risk by analyzing coach and athlete data.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2026-04-30
AI Technical Summary
Existing sports training methods lack the ability to accurately predict the difference between a coach's intended training intensity and an athlete's perceived exercise intensity, leading to inconsistent performance and increased injury risk due to uniform training approaches.
A machine learning-based prediction model that calculates the Difference in Intended Exertion (DIP) by analyzing coach and athlete data, including identification information, date, sequence number, RIE, condition, pain, and exercise load, using embedding layers, encoders, decoders, and inference blocks to quantify each athlete's performance ability relative to the coach's intended training intensity.
Enables personalized training programs, reducing injury risk and improving team performance by accurately predicting DIP, allowing coaches to tailor training to individual athlete capabilities and prevent fatigue and pain.
Smart Images

Figure KR2024016971_30042026_PF_FP_ABST
Abstract
Description
Device and method for generating a machine learning-based predictive model that predicts the difference between the coach's intended training intensity for a training session and the perceived exercise intensity of an athlete participating in the training session.
[0001] Embodiments of the present application relate to an apparatus and method for generating a machine learning-based prediction model that predicts a player's DIP, which indicates the difference between the coach's intended training intensity for a training session prior to training (hereinafter, coach's RIE) and the player's perceived exercise intensity (hereinafter, player's RPE), in order to provide a scientific training method.
[0002] Athletes can upgrade their performance in the sport they participate in by improving their physical, mental, and tactical abilities through training. Therefore, for a sports team to achieve excellent results, the management of the team depends not only on the individual capabilities of the athletes but also on the training ability to effectively enhance the athletic performance of its members.
[0003] Athletes undergo rigorous physical training to maximize performance and exert intense physical exertion by competing in multiple matches within a short period; consequently, they face a higher risk of injury to various body parts—such as the wrists, forearms, knees, lower back, neck, and head—than the general public. Such injuries can result in significant losses for both the individual and the entire team. Therefore, when establishing training plans, it is crucial for coaches to design appropriate exercises that consider both the improvement of the athletes' performance and injury prevention.
[0004] For athletes, even if the training is planned with a consistent target intensity, performance varies due to individual reasons, such as poor physical condition or minor pain at the time of training. As a result, among athletes trained at the same intensity, some may achieve improved performance, while others may instead suffer injuries.
[0005] However, to date, most sports fields operate in a manner where coaches plan training based on verbal assessments of athletes' physical condition by managers or administrators. Therefore, there is a need among field users for technology that enables coaches to recognize each athlete's performance capabilities for targeted training intensity prior to the session, thereby facilitating the design of appropriate training programs and stable team management.
[0006] Based on the discussion described above, embodiments of the present application aim to provide an apparatus and method for generating a machine learning-based prediction model that predicts a player's DIP, which represents the difference between the coach's RIE for a training session and the player's RPE participating in said training session, so as to quantify each player's performance ability in relation to the training intensity intended by the coach to provide a scientific training method.
[0007] A method for generating a machine learning-based prediction model that predicts the difference between the coach's intended training intensity for a training session and the perceived exercise intensity of a player participating in said training session, according to one aspect of the present application, is performed by a computing device. The method comprises: acquiring a set of sample training session data of a coach for a plurality of sample training sessions for a certain time window from a coach terminal; acquiring a set of sample training state data of a player participating in at least one of the plurality of sample training sessions for a certain time window from a player terminal; for each of the at least one sample training session in which the player participated, calculating parameter data of the player for said sample training session based on the sample training state data of the player participating in said sample training session and the corresponding sample training session data; generating a training data set of the player based on the parameter data of the player for said at least one sample training session; wherein the training data set of the player includes a plurality of input variables of the player for each sample training session; and training the prediction model using the training data set of the player so that the prediction model predicts the DIP of a player participating in a specific training session having the coach's RIE. The above coach's RIE is the target training intensity intended by the coach for the sample training session, the above athlete's RPE is the exercise intensity perceived by the athlete participating in the sample training session, and the above athlete's DIP represents the difference between the coach's RIE and the athlete's RPE.
[0008] In one embodiment, the prediction model comprises: a plurality of embedding layers that embed each of the plurality of input variables; a plurality of encoders that receive the processing results of some of the embedding layers among the plurality of embedding layers and encode each of them; a plurality of decoders that receive the outputs of the plurality of encoders and decode each of them; a first inference block that receives the processing results of other some of the embedding layers among the plurality of embedding layers and the processing results of some of the decoders among the plurality of decoders and performs computational processing; and a second inference block that receives the intermediate inference result of the first inference block, the processing result of another some of the embedding layers among the plurality of embedding layers, and the processing result of the remaining decoders among the plurality of decoders and performs computational processing to calculate the predicted value of the DIP of the player who provided the training data. The first inference block and the second inference block include a fully connected layer.
[0009] In one embodiment, the sample training session data includes identification information of the sample training session identifying the sample training session, date information (t) of the sample training session, sequence number information (s) of the sample training session in the sample training program, and RIE information of the coach conducting or designing the sample training session, and the athlete's sample training status data includes condition information, pain information, and exercise load information of the athlete participating in the sample training session, and the athlete's exercise load information includes the RPE of the athlete participating in the sample training session.
[0010] In one embodiment, the step of calculating the parameter data of the player comprises condition parameter data (X) of a player participating in a training session on day t, which belongs to a set time window. CO t Step of calculating ); exercise parameter data (X) of an athlete participating in the s-th training session on day t. TL t, sA step of calculating ); pain parameter data (X) of an athlete participating in a training session on day t PA t A step of calculating ); the first aggregated parameter data (Y) which aggregates the coach's RIE and the athlete's RPE for the s-th training session on day t. TL t,s A step of calculating ); and second integrated parameter data (Z) integrating the player's accumulated fatigue and accumulated physical strength on day t. TL t It may include a step of calculating ).
[0011] In one embodiment, the step of generating a training data set of the player may include: a step of calculating a first input variable of the player based on a preset zero vector and condition information within sample training session data and sample training status data; a step of calculating a second input variable of the player based on the coach's RIE within the sample training session data; a step of calculating a third input variable of the player based on the player's condition information, exercise load information, and pain information within a series of sample training status data during the scheduled time window; a step of calculating a fourth input variable of the player based on the coach's RIE for each sample training session within the sample training session data during the scheduled time window and the player's RPE within the sample training status data during the scheduled time window; and a step of calculating a fifth input variable of the player based on the player's accumulated fatigue and accumulated physical strength information within the player's sample training status data during the scheduled time window.
[0012] In one embodiment, the step of training the prediction model may include: inputting training data into the prediction model to calculate a predicted value of the player's corresponding DIP; and applying the calculated predicted value of the player's DIP to a preset loss function for the prediction model to adjust the model parameters of the prediction model.
[0013] In one embodiment, the step of inputting the training data into a prediction model to calculate the predicted value of the player's corresponding DIP comprises, for each training data, inputting a first input variable included in the individual training data into a first embedding layer to produce a processing result according to embedding; inputting a second input variable included in the training data into a second embedding layer to produce a processing result according to embedding; inputting a third input variable included in the training data into a third embedding layer to produce a processing result according to embedding; inputting a fourth input variable included in the training data into a fourth embedding layer to produce a processing result according to embedding; inputting a fifth input variable included in the training data into a fifth embedding layer to produce a processing result according to embedding; inputting the processing result of the third embedding layer into a first encoder to produce a processing result according to encoding; and inputting the processing result of the fourth embedding layer into a second encoder to produce a processing result according to encoding. A step of inputting the processing result of the fifth embedding layer into a third encoder to produce a processing result according to encoding; a step of inputting the processing result of the first encoder into a first decoder to restore it as hidden state data of a third input variable for DIP prediction; a step of inputting the processing result of the second encoder into a second decoder to restore it as hidden state data of a fourth input variable for DIP prediction; a step of inputting the processing result of the third encoder into a third decoder to restore it as hidden state data of a fifth input variable for DIP prediction; a step of concatenating the processing result of the first embedding layer with the processing result of the first decoder to input it into a first inference block; and a step of performing computational processing on the combined processing result of the first embedding layer and the processing result of the first decoder in the first inference block to produce an intermediate inference result for DIP prediction.The method may include a step of concatenating the processing result of the second embedding layer, the processing result of the first inference block, the processing result of the second decoder, and the processing result of the third decoder for input into the second inference block; and a step of predicting the DIP of the player who provided the training data by performing computational processing on the combined processing result of the second embedding layer, the processing result of the first inference block, the processing result of the second decoder, and the processing result of the third decoder in the second inference block.
[0014] In one embodiment, the loss function is expressed by the following mathematical formula, and
[0015] [Mathematical Formula]
[0016]
[0017] Here, y and ^y represent the actual value and predicted value (e.g., actual DIP and predicted DIP), respectively. B represents the batch number, and y j i wa ^y j i are the actual and predicted values for the i-th observation of the j-th batch, respectively, and n j represents the number of observations in the j-th batch.
[0018] A computer-readable recording medium according to another aspect of the present application may record a program for performing a method of generating a machine learning-based prediction model that predicts the difference between the coach's intended training intensity for a training session according to the embodiments described above and the perceived exercise intensity of a player participating in said training session.
[0019] An apparatus for generating a machine learning-based prediction model that predicts the difference between the coach's intended training intensity for a training session and the perceived exercise intensity of a player participating in the training session, comprising a processor according to another aspect of the present application, may include: a data collection unit that acquires a set of sample training session data of a coach for a plurality of sample training sessions for a certain time window from a coach terminal and acquires a set of sample training state data of a player participating in at least one of the plurality of sample training sessions for a certain time window from a player terminal; a data calculation unit that, for each of the at least one sample training session in which the player participated, calculates parameter data of the player for the sample training session based on the sample training state data of the player participating in the sample training session and the corresponding sample training session data; and a model learning unit that generates a training data set of the player based on the parameter data of the player for the at least one sample training session, wherein the training data set of the player includes a plurality of input variables of the player for each sample training session, and learns the prediction model using the training data set of the player so that the prediction model predicts the DIP of a player participating in a specific training session having the coach's RIE.
[0020] An apparatus for generating a machine learning-based prediction model according to various embodiments of the present application can generate a machine learning-based prediction model that predicts the DIP of a player participating in a training session. This DIP is a value that quantifies each player's performance ability in relation to the training intensity intended by the coach, and is defined as the difference between the training intensity intended by the coach prior to the training session and the training intensity perceived by the player participating in the training session.
[0021] As a result, the device can enable coaches to accurately recognize each player's performance ability for training of a target intensity before training through the predicted DIP, and ultimately provide a scientific training program. In other words, through the device, users can perform personalized monitoring of each player, thereby overcoming the limitations of uniform team management based on quantitative indicators.
[0022] In addition, by predicting the athlete's DIP, the device can prevent pain, fatigue accumulation, and resulting injuries caused by excessive training, or prevent physical decline and other performance deterioration caused by insufficient training. Ultimately, the device can also be used to provide a solution for managing the athlete's injury risk.
[0023] Furthermore, such personalized player management can improve team-level player availability in matches.
[0024] The effects obtainable from the present invention are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art to which the present disclosure belongs from the description below.
[0025] To more clearly explain the technical solution of the embodiments of the present invention or the prior art, the drawings necessary for the description of the embodiments are briefly introduced below. It should be understood that the drawings below are for the purpose of explaining the embodiments of this specification only and are not for the purpose of limitation. Additionally, for clarity of explanation, some elements in the drawings below may be depicted with various modifications, such as exaggeration or omission.
[0026] FIG. 1 illustrates a network environment of a system for generating a machine learning-based prediction model according to one aspect of the present application.
[0027] FIG. 2 illustrates a user interface screen for setting training intensity to generate training session data according to various embodiments of the present application.
[0028] FIG. 3 illustrates a user interface screen for generating training status data of a player according to various embodiments of the present application.
[0029] FIG. 4 is a drawing illustrating exercise load and exercise intensity according to various embodiments of the present application.
[0030] FIG. 5 is a schematic diagram of a neural network according to various embodiments of the present application.
[0031] FIG. 6 is a configuration diagram of a device for generating a machine learning-based prediction model according to another aspect of the present application.
[0032] FIG. 7 is a flowchart of a method for generating a machine learning-based prediction model according to another aspect of the present application.
[0033] FIG. 8 is an exemplary diagram of a neural network architecture of a prediction model according to various embodiments of the present application.
[0034] FIG. 9 is a detailed flowchart of the process of learning the prediction model according to various embodiments of the present application.
[0035] Figure 10 is the result of comparing the performance of the prediction model trained by the method of Figure 9 with other machine learning models.
[0036] Hereinafter, embodiments of the present invention will be examined in detail with reference to the drawings.
[0037] However, this is not intended to limit the present disclosure to specific embodiments and should be understood to include various modifications, equivalents, and / or alternatives to the embodiments of the present disclosure. In connection with the description of the drawings, similar reference numerals may be used for similar components.
[0038] In this specification, expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of such features (e.g., components such as numbers, functions, actions, steps, parts, elements, and / or parts), and do not exclude the presence or addition of additional features.
[0039] When it is stated that one component is "connected" or "connected" to another component, it should be understood that while it may be directly connected or connected to that other component, there may also be other components in between. On the other hand, when it is stated that one component is "directly connected" or "directly connected" to another component, it should be understood that there are no other components in between.
[0040] Expressions such as "first," "second," "first," or "second" used in various embodiments may modify various components regardless of order and / or importance and do not limit said components. Such expressions may be used to distinguish one component from another. For example, the first component and the second component may represent different components regardless of order or importance.
[0041] Examples of configurations of singular expressions used in this specification also include examples of configurations of plural expressions, unless the phrases associated with the singular expressions clearly indicate a meaning contrary to this.
[0042] As used herein, the expression “configured to” may be replaced, depending on the context, with, for example, “suitable for,” “having the capacity to,” “designed to,” “adapted to,” “made to,” or “capable of.” The term “configured to” may not necessarily mean only that which is “specifically designed to” in hardware. Instead, in some situations, the expression “device configured to” may mean that the device is “capable of” in conjunction with other devices or components. For example, the phrase “processor configured to perform A, B, and C” may mean a dedicated processor for performing the said operations (e.g., an embedded processor), or a generic-purpose processor (e.g., a CPU or an application processor) capable of performing said operations by executing one or more software programs stored in a memory device.
[0043] Terms used in this invention, including technical or scientific terms, may have the same meaning as generally understood by those skilled in the art as described in this invention. Terms used in this invention that are defined in general dictionaries may be interpreted as having the same or similar meaning as they have in the context of the relevant technology, and are not interpreted in an ideal or overly formal sense unless explicitly defined in this invention. In some cases, even terms defined in this invention may not be interpreted to exclude embodiments of this invention.
[0044]
[0045] The apparatus and method according to embodiments of the present application can generate a machine learning-based prediction model for predicting the Difference in Intended Exertion (DIP) of an athlete participating in a training session. Here, the Difference in Intended Exertion (DIP) of an athlete participating in a training session is defined as the difference between the Rate of Intended Exertion (RIE) intended by the coach prior to the training session and the Rate of Perceived Exertion (RPE) perceived by the athlete participating in the training session. Since the RIE value is a fixed value set by the coach, predicting the DIP is substantially the same as predicting the RPE.
[0046]
[0047] In sports, monitoring an individual athlete's physical and psychological state is crucial, and if a coach can accurately analyze the athlete's condition, they can customize training to maximize each individual's growth potential. Monitoring physical and psychological status is a shortcut to increasing an athlete's chances of winning.
[0048] Personalized coaching based on individual monitoring is also positive for the team. This is because long-term player injuries reduce availability, hindering the operation of the sports team, and cause a financial burden on the team due to players who do not get playing time.
[0049] To effectively perform such individual monitoring, appropriate information must be monitored.
[0050] Since RPE encompasses the realm of what an athlete actually perceives among the various data that can be collected from them, monitoring RPE is important in terms of athlete management. Predicted RPE is one of the best means to support the decision-making process for both coaches and athletes while planning and executing training.
[0051] Meanwhile, data extracted from wearable devices, such as GPS data commonly used to predict an athlete's RPE, is a type of external load (EL) representing the amount of physical activity. However, considering the meaning of RPE, it is more accurate to monitor RPE by measuring internal load (IL), which represents the psychophysiological response to physical activity.
[0052] The apparatus and method according to the embodiments of the present application are configured to predict DIP through more accurate monitoring of RPE.
[0053]
[0054] FIG. 1 illustrates a network environment of a system for generating a machine learning-based prediction model according to one aspect of the present application.
[0055] Referring to FIG. 1, the system for generating the machine learning-based prediction model includes a player terminal (110), a coach terminal (120), and a machine learning-based prediction model generating device (200, hereinafter referred to as the model generating device).
[0056] A system or device (200) for generating a machine learning-based prediction model according to the embodiments may be entirely hardware or have aspects that are partially hardware and partially software. For example, the system may collectively refer to hardware equipped with data processing capabilities and operating software for driving the same. In this specification, terms such as “unit,” “system,” and “device” are intended to refer to a combination of hardware and software driven by said hardware. For example, the hardware may be a data processing device including a CPU (Central Processing Unit), a GPU (Graphic Processing Unit), or other processors. Additionally, the software may refer to a running process, an object, an executable file, a thread of execution, a program, etc.
[0057]
[0058] The player terminal (110), coach terminal (120), and model generation device (200) can be connected to each other via an electrical communication network.
[0059] The telecommunications network provides wired / wireless telecommunications paths through which components (110, 120, 200, 300) of a system generating a machine learning-based prediction model, as illustrated in FIG. 1, can transmit and receive data to and from each other.
[0060] Telecommunication networks are not limited to communication methods based on specific communication protocols, and appropriate communication methods may be used depending on the implementation. For example, if configured as a system based on the Internet Protocol (IP), the telecommunication network may be implemented as a wired and / or wireless internet network. Or, if different devices (110, 120, 200, or 300) are implemented as mobile communication terminals, the telecommunication network may be implemented as a wireless network such as a cellular network or a wireless local area network (WLAN) network.
[0061]
[0062] The player terminal (110) and coach terminal (120) may be client terminal devices that communicate with the model generation device (200).
[0063] The player terminal (110) and coach terminal (120) may be a computing system capable of performing appropriate functions implemented or supported by the device (100 or 200), including hardware, software or embedded logic components or a combination of two or more of these components.
[0064] In various embodiments of the present application, the player terminal (110) and coach terminal (120) may be devices including a processor, memory, a communication unit, an input device, and an output device. The player terminal (110) and coach terminal (120) may be implemented in the form of a computer system, such as, for example, a desktop computer, a laptop computer, a netbook, a tablet computer, an e-book reader, a GPS device, a camera, a personal information terminal (PDA), a portable electronic device, a cellular phone, a smartphone, other computing devices, other mobile devices, other wearable devices, other suitable electronic devices, or any suitable combination thereof.
[0065]
[0066] The coach terminal (120) is a terminal device that operates according to user input from a coach who is in charge of coaching duties for the user of the player terminal (110).
[0067] The above coach terminal (120) can generate a training session or training program prior to the execution of the training session.
[0068] A training program represents a plan in which a series of training sessions are scheduled sequentially. A specific training program is a set of training sessions to be performed on day t.
[0069] In various embodiments of the present application, the coach terminal (120) may acquire at least one training session data. Each training session data describes a training session to be performed on date t. The coach terminal (120) may generate training session data for a specific training session by acquiring setting values for each data item constituting the training session data according to user input.
[0070] Additionally, in some embodiments, the coach terminal (120) can generate training program data consisting of at least one training session based on at least one training session data.
[0071] In various embodiments of the present application, the coach terminal (120) may generate training session data including identification information of a training session that identifies the training session, date information (t) of the training session, sequence number information (s) of the training session in the training program, location information where the training session will be conducted, information on participants of the training session, and RIE information of the coach for the training session.
[0072] Additionally, in some embodiments, the coach terminal (120) may generate training session data that further includes one or more of information on the duration of the training session, information on the type of training for the training session, and information on the coach's comments regarding the training session. Some or all of the setting values for each data item included in the training session data may be obtained based on user input of the coach terminal (120).
[0073] FIG. 2 illustrates a user interface screen for setting training intensity to generate training session data according to various embodiments of the present application.
[0074] Referring to FIG. 2, the coach terminal (120) can induce user input for training session data through a preset user interface (GUI) screen. As shown in FIG. 2, the user interface screen may be configured to input one or more of the coach's setting values for the training session date information (t), the sequence number information (s) of the training session in the training program, the location information where the training session will be conducted, the target information, the session duration information where the training session will be conducted, the training type information of the training session, the coach's comment information for the training session, and RIE information.
[0075] Training type information may indicate, for example, general training, actual matches, practice matches, rest, or other training types, but is not limited thereto.
[0076] Place information may be, but is not limited to, the geographical location, administrative address, or customary (or social) name of a place.
[0077] The duration of the training session may be a first hour or a second hour on the same day, but is not limited thereto. The first and second hours may be defined by some or all of the units of hours, minutes, and seconds. In some embodiments, the duration of the training session may be set for two or more days depending on the type of training session.
[0078] Participant information is information describing a participant in a training session. The participant information may be the player's identification information and / or profile information. The participant information may include, for example, a user ID, email account, identification code (or number), name, phone number, and / or other identifiable information for an individual player.
[0079] Training session data containing participant information for one or more players can be generated for a single training session.
[0080] RIE (Rate of Intended Exertion) information indicates the target training intensity intended by the coach. In some embodiments, the coach's RIE may be any one level value within a preset range.
[0081] In various embodiments of the present application, the coach terminal (120) may provide the user with a mapping table describing the mapping relationship between a training intensity level and a training intensity value, and may obtain an RIE value for a training session based on the mapping table. For example, as shown in FIG. 2, a mapping table classified into six levels within the range of 1 to 10 may be provided to the user.
[0082] The coach's setting values can be entered via selection or typing.
[0083] The training session data provided by the coach terminal (120) is transmitted to the model generation device (200). The model generation device (200) can generate a prediction model using the training session data. This is described in more detail with reference to FIGS. 7 to 9 below.
[0084]
[0085] The athlete terminal (110) is a terminal device that operates according to user input from an athlete participating in a training session under the guidance of a coach of the coach terminal (120). The athlete terminal (110) can acquire ASRM (Athlete Self-Report Measures) data of the athlete participating in the training session.
[0086] The Athlete Monitoring System (AMS) is a system designed to maintain optimal performance by tracking an athlete's psychological and physical state before and after training, observing their response to training, and preventing injuries and diseases. Athlete Self-Report Measures (ASRM), one of the data classifications handled by the AMS, can be various data used to track the psychological and physical state of athletes participating in training sessions, observe their response to training, and prevent injuries and diseases. ASRM data can be one type of data among the various types of AMS data (e.g., PlCO data).
[0087] The terminal (110) can generate training status data of a player accessing a training session, including one or more of the player's overall condition, pain information, and exercise load as ASRM.
[0088] In various embodiments of the present application, the athlete terminal (110) may generate athlete training status data including one or more of training session information representing the training session in which the athlete participated, athlete condition information regarding the training session, pain information, and exercise load information.
[0089] The above training session information is information describing a training session in which a player participated, and may be at least some of the information included in the training session data of the coach terminal (120). For example, the above training session information may include identification information of the training session.
[0090] FIG. 3 illustrates a user interface screen for generating athlete training status data according to various embodiments of the present application. FIG. 4 is a diagram illustrating exercise load and exercise intensity according to various embodiments of the present application.
[0091] FIG. 3a illustrates a user interface screen for inputting condition information. FIG. 3b illustrates a user interface screen for inputting pain information. FIG. 3c illustrates a user interface screen for inputting exercise load information.
[0092] Referring to FIG. 3, the coach terminal (120) can induce user input regarding the athlete's training status data through a preset user interface (GUI) screen. As illustrated in FIG. 3, the user interface screen may be configured to input the athlete's setting values for one or more of condition information, pain information, and exercise load information. The exercise load information includes the athlete's exercise intensity (i.e., RPE) information.
[0093] Condition information describes the various condition states of an athlete participating in a training session. Condition information can be expressed as various condition state values.
[0094] Pain information describes the pain or fatigue status of an athlete participating in a training session. Pain information may also be related to injuries sustained by the athlete after training. The pain status may be expressed by at least one of the following: whether the athlete experiences pain, pain intensity, location of pain (or fatigue site), and type of pain, but is not limited thereto.
[0095] Exercise load information describes the exercise performed by the athlete for training while participating in a training session. The aforementioned exercise load information describes the exercise load felt by the athlete who perceived a specific exercise intensity during the training session. In other words, it can describe the RPE perceived by the athlete and / or the resulting exercise load.
[0096] The RPE (Rate of Perceived Exertion) of the above athlete is the exercise intensity perceived by the athlete participating in the training session. The athlete's RPE may be another expression of the training intensity felt by the athlete. Similar to the coach's RIE value, the athlete's RPE value may be expressed as a level value within a preset range.
[0097] If the player's RPE and the coach's RIE match for a specific training session, it is interpreted that the training intended by the coach has been performed correctly.
[0098] In some embodiments, the other exercise load information may further include one or more of exercise satisfaction information indicating satisfaction with the training results, exercise time information, and athlete's comment information.
[0099] Exercise load information after the s-th training session is treated as exercise load information before the s+1-th training session.
[0100] The player's setting value can be entered by selecting a specific location on the screen or by typing input. In some embodiments, the pain intensity or degree of injury may be received based on at least one of the number of times input is detected in the area selected by the player in the body model GUI, the intensity of the input detected, and the duration of the input detected. At this time, the body model GUI may be displayed on a display equipped with the player terminal (110), and information may be entered through the player's touch of the display.
[0101] The athlete terminal (110) can provide a series of past sample training state data to the model generation device 200. The past sample training state data is the past training state data of an athlete who participated in a past sample training session based on date t. Each past sample training state data among the series of the athlete's past sample training state data includes condition information, pain information, and exercise load information of the athlete who participated in a sample training session conducted on each past date (e.g., t-28, .., t-1) within the time window period.
[0102] The player terminal (110) can provide the daily sample training status data to the model generation device 200 on the date t of the sample training session for predicting the player's DIP. The daily sample training status data is the daily training status data of the player who participated in the sample training session conducted on date t. The daily training status data includes only descriptions prior to participation in the training session. The daily training status data includes condition information and pain information of the player who participated in the sample training session conducted on date t.
[0103] The operation of the player terminal (110) and the model generation device 200 will be described in more detail with reference to FIGS. 7 to 9 below.
[0104]
[0105] The model generation device (200) can generate a machine learning-based prediction model. The machine learning-based prediction model may be various artificial neural network models having a neural network structure.
[0106] FIG. 5 is a schematic diagram of a neural network according to various embodiments of the present application.
[0107] A neural network (or referred to as an artificial neural network) can be composed of a set of interconnected computational units, which can generally be referred to as nodes. These nodes may also be referred to as neurons. A neural network is composed of at least one node. The nodes (or neurons) constituting the neural network may be interconnected by one or more links. Within a neural network, one or more nodes connected via links may form a relative relationship between an input node and an output node. The concepts of input and output nodes are relative; any node in an output node relationship with respect to one node may be in an input node relationship with respect to another node, and vice versa. As described above, the input node versus output node relationship can be generated around links. One or more output nodes may be connected to a single input node via links, and vice versa.
[0108] In a relationship between an input node and an output node connected through a single link, the value of the output node's data can be determined based on the data input to the input node. Here, the links interconnecting the input and output nodes may have weights. These weights can be variable and may be adjusted by a user or an algorithm to enable the neural network to perform the desired function. For example, if one or more input nodes are interconnected to a single output node via respective links, the output node's value can be determined based on the values input to the input nodes connected to the output node and the weights set on the links corresponding to each input node.
[0109] As described above, a neural network consists of one or more nodes interconnected through one or more links, forming input-output node relationships within the neural network. The characteristics of a neural network can be determined by the number of nodes and links within the network, the relationships between the nodes and links, and the weight values assigned to each link. For example, if two neural networks exist with the same number of nodes and links but different weight values for the links, the two neural networks can be recognized as being different from each other.
[0110] A neural network can be composed of a set of one or more nodes. A subset of nodes constituting a neural network can form a layer. Some of the nodes constituting a neural network can form a layer based on their distances from an initial input node. For example, a set of nodes with a distance of n from an initial input node can form n layers. The distance from the initial input node can be defined by the minimum number of links that must be traversed to reach that node from the initial input node. However, this definition of a layer is arbitrary for illustrative purposes, and the degree of a layer within a neural network can be defined in a way different from that described above. For example, a layer of nodes may be defined by its distance from a final output node.
[0111] Initial input nodes may refer to one or more nodes within a neural network to which data is directly input without passing through links in relation to other nodes. Alternatively, in terms of link-based relationships within the neural network, they may refer to nodes that do not have other input nodes connected by links. Similarly, final output nodes may refer to one or more nodes within a neural network that do not have output nodes in relation to other nodes. Furthermore, hidden nodes may refer to nodes constituting the neural network that are neither initial input nodes nor final output nodes.
[0112] A neural network according to one embodiment of the present disclosure may have the number of nodes in the input layer equal to the number of nodes in the output layer, and may be a neural network in which the number of nodes decreases and then increases again as it progresses from the input layer to the hidden layer. Additionally, a neural network according to another embodiment of the present disclosure may have the number of nodes in the input layer less than the number of nodes in the output layer, and may be a neural network in which the number of nodes decreases as it progresses from the input layer to the hidden layer. Additionally, a neural network according to yet another embodiment of the present disclosure may have the number of nodes in the input layer greater than the number of nodes in the output layer, and may be a neural network in which the number of nodes increases as it progresses from the input layer to the hidden layer. A neural network according to yet another embodiment of the present disclosure may be a neural network in which the above-described neural networks are combined.
[0113] A deep neural network (DNN) may refer to a neural network that includes multiple hidden layers in addition to input and output layers. Using a deep neural network allows for the identification of the latent structures of data. That is, it is possible to identify the latent structures of photos, text, videos, voice, and music (e.g., what objects are present in a photo, what the content and emotions of a text are, what the content and emotions of a voice are, etc.). Deep neural networks may include convolutional neural networks (CNN), recurrent neural networks (RNN), autoencoders, Generative Adversarial Networks (GAN), restricted Boltzmann machines (RBM), deep belief networks (DBN), Q networks, U networks, Siamese networks, Generative Adversarial Networks (GAN), etc. The description of deep neural networks described above is merely illustrative and the present disclosure is not limited thereto.
[0114] Neural networks can be trained in at least one of supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The training of a neural network may be the process of applying knowledge to the neural network to perform a specific action.
[0115] Neural networks can be trained to minimize the error in their output. The training process involves repeatedly inputting training data into the network, calculating the error between the network's output and the target for the training data, and updating the weights of each node by backpropagating the error from the output layer to the input layer in a direction that reduces the error. In supervised learning, training data is used where the correct answer is labeled for each individual training data point (i.e., labeled training data), whereas in unsupervised learning, the correct answer may not be labeled for each training data point. For instance, in the case of supervised learning for data classification, the training data may consist of data where each training data point is labeled with a category. The labeled training data is input into the neural network, and the error can be calculated by comparing the network's output (category) with the labels of the training data. As another example, in the case of unsupervised learning for data classification, the error can be calculated by comparing the input training data with the neural network's output. The calculated error is backpropagated in the neural network (i.e., from the output layer to the input layer), and through backpropagation, the connection weights of each node in each layer of the neural network can be updated. The amount of change in the connection weights of each node being updated can be determined by the learning rate. The neural network's calculation of the input data and the backpropagation of the error can constitute a learning cycle (epoch). The learning rate can be applied differently depending on the number of iterations of the neural network's learning cycle. For example, a high learning rate can be used in the early stages of training to quickly achieve a certain level of performance and increase efficiency, while a low learning rate can be used in the later stages to improve accuracy.
[0116] In the training of neural networks, training data is generally a subset of real-world data (i.e., the data intended to be processed using the trained neural network); therefore, a training cycle may exist where errors decrease on the training data but increase on real-world data. Overfitting is a phenomenon in which errors on real-world data increase due to excessive training on the training data. For example, a neural network trained on cats by showing it yellow cats may fail to recognize cats other than yellow ones as cats, which can be a type of overfitting.
[0117] Overfitting can cause an increase in errors in machine learning algorithms. Various optimization methods can be used to prevent such overfitting. To prevent overfitting, methods such as increasing the training data, regularization, dropout (which disables some nodes in the network during training), and the use of batch normalization layers can be applied.
[0118]
[0119] The above model generation device (200) may be configured to generate a prediction model trained to predict a player's DIP for a training session to be predicted.
[0120] FIG. 6 is a configuration diagram of a model generation device for generating a machine learning-based prediction model according to another aspect of the present application.
[0121] Referring to FIG. 6, the model generation device (200) includes a data collection unit (210), a data output unit (230), and a model learning unit (250).
[0122] The data collection unit (210) can receive training session data from the coach terminal (120) and training status data from the player terminal (110). In addition, in some embodiments, the data collection unit (210) can store information about the received data.
[0123] The data collection unit (210) can obtain information on the training session data and training status data before generating the prediction model. The obtained information can be used as sample information for generating the prediction model.
[0124] In various embodiments of the present application, the data collection unit (210) may obtain training session data of a coach terminal (120) from the coach terminal (120), which includes one or more of the following information: identification information of the training session, sequence number information(s), location information where the training session will be conducted, information on the participants of the training session, RIE information of the training session, information on the duration of the training session, information on the training type of the training session, and coach comment information regarding the training session.
[0125] Additionally, the data collection unit (210) can obtain training status data of the athlete terminal (110) from the athlete terminal (110), including one or more of training session information, condition information, pain information, RPE information, and exercise load information.
[0126] In various embodiments of the present application, the data collection unit (210) may provide GUI data to a player terminal (110) or a coach terminal (120) to implement a user interface screen for obtaining the aforementioned information. The GUI data may display a GUI screen representing a body model for collecting objective information. For example, the GUI data may display the user interface screen of FIGS. 2 and FIGS. 3.
[0127] As illustrated in FIG. 3, the data collection unit (210) can receive the pain area after participation in the sth training session based on the area entered by the player as feeling pain in the body model GUI. In addition, the pain area can be received based on the area entered by the player as the injured area.
[0128] The above training session data and training status data include information capable of identifying a player and a training session. For example, the above training session data and training status data include identification information of the training session to identify the training session. The above training session data includes information on the participants to identify the player. The above training status data includes identification information of the player to identify the player. Through this, it is possible to determine whether each piece of information is information before or after the same training, and whether it is information regarding the same player.
[0129] In various embodiments of the present application, the data collection unit (210) can calculate the accumulated fatigue and / or accumulated physical strength of a player on a specific day t belonging to a specific time interval based on training session data and training status data received during some or all of a preset specific time interval. The data collection unit (210) can transmit the accumulated fatigue and / or accumulated physical strength to the data calculation unit (230).
[0130] A specific time interval is a time interval capable of providing input data that has a potential correlation with the prediction results of DIP. In some embodiments, the specific time interval may be 20 days or longer. Also, in some embodiments, it may be 25 to 30 days or 25 to 31 days. Also, in some embodiments, the specific time interval may be approximately 28 days.
[0131] Cumulative fatigue represents an athlete's Acute Training Load (ATL). If a total of s training sessions are conducted on day t within a specific time interval, the cumulative fatigue (TL) of the training athlete at that time is ATL t ) is the athlete's cumulative fatigue (TL) from day t-1 to the athlete's training load on day t. ATL t-1 The training load of an athlete on day t can be calculated by summing the results of multiplying each RPE by each training time for all s training sessions on day t.
[0132] In some embodiments, the data collection unit (210) has a preset weight (λ) for the accumulated fatigue. ATL The cumulative fatigue of the player on day t can be calculated by applying ) to the sum of the player's RPE in each of the s training sessions and / or to the player's cumulative fatigue up to day t-1. For example, the data collection unit (210) may apply a weight (λ) to the sum of the player's RPE. ATL To the result of applying ) to the cumulative fatigue of the player on date t (1 - weight(λ ATL The cumulative fatigue of the player on date t can be calculated by subtracting the result of applying )).
[0133] In one example, the cumulative fatigue (TL) of a training athlete who has 3 training sessions on day t with 7 days of exercise load information, and whose training status data is collected for 28 days. ATL t ) can be calculated through the following mathematical formula.
[0134] [Mathematical Formula 1]
[0135]
[0136] Here, TL duration represents the duration (in minutes) of the s-th training session on day t.
[0137] Accumulated physical strength represents an athlete's CTL (Chronic Training Load). If a total of s training sessions are conducted on day t within a specific time interval, the athlete's accumulated fatigue (TL) at that time CTL t ) is the athlete's accumulated fatigue (TL) from day t-1 to the athlete's training load on day t. CTL t-1 It can be calculated by summing ). As mentioned above, the training load of an athlete on day t is calculated by summing the results of multiplying each RPE by each training time for all s training sessions on day t.
[0138] In some embodiments, the data collection unit (210) has a preset weight (λ) for the accumulated strength. CTL The cumulative fatigue of the player on day t can be calculated by applying ) to the sum of the player's RPE in each of the s training sessions and / or to the player's accumulated physical strength up to day t-1. For example, the data collection unit (210) may apply a weight (λ) to the sum of the player's RPE. CTL To the result of applying ) to the accumulated stamina of the player on date t (1 - weight(λ CTL The accumulated stamina of the player on date t can be calculated by subtracting the result of applying )).
[0139] In the above example, the accumulated fatigue (TL) of a training athlete who has 3 training sessions on day t with 7 days of exercise load information, and whose training status data is collected for 28 days. CTL t ) can be calculated through the following mathematical formula.
[0140] [Mathematical Formula 2]
[0141]
[0142] In some embodiments, the data collection unit (210) may be further configured to produce validity label data indicating the validity of at least one of the collected information. The produced validity label data may be transmitted to the data production unit (230).
[0143] Specifically, the data collection unit (210) may be further configured to produce first valid label data indicating the validity of target training intensity information for the s-th training session on day t, produce second valid label data indicating the microscopic validity of the athlete's exercise load information for the s-th training session on day t, and / or produce third valid label data indicating the macroscopic validity of the athlete's exercise load information for the s-th training session on day t.
[0144] The first to third training label data can be represented as binary values such as 0 or 1.
[0145] The first valid label data is calculated as 1 if the data collection unit (210) determines, based on the training session data, that the s-th training session on day t is a specific RIE planned by the coach, and as 0 otherwise. If the s-th training session on day t is a personal training session not planned by the coach, the first valid label data is calculated as 0.
[0146] The second valid label data is calculated as 1 if the exercise load information of a player participating in the s-th training session on day t is confirmed to be greater than or equal to the first threshold from a preset past date to day t-1, based on a set of training status data of a player continuously collected by the data collection unit (210) during a specific time interval, and as 0 otherwise. Here, the preset past date is any date between the initial date of the specific time interval and t-1. The past date can be set such that the time from the past date to day t-1 is shorter than the time from the initial date of the specific time interval to the past date. For example, the past date can be set to t-7.
[0147] The third valid label data is calculated as 1 if the exercise load information of a player participating in the s-th training session on day t is confirmed to be greater than or equal to the second threshold from the initial date of the specific time interval to day t-1, based on a set of training status data of a player continuously collected by the data collection unit (210) during a specific time interval, and as 0 otherwise.
[0148] The above first threshold and second threshold may be different from each other.
[0149] In one example, the second valid label data is calculated as 1 if the athlete's exercise load information is confirmed 5 or more times from t-7 to t-1 based on a set of athlete's training status data collected over 28 days, and the third valid label data can be calculated as 1 if the athlete's exercise load information is confirmed 20 or more times from t-28 to t-1 based on a set of athlete's training status data collected over 28 days.
[0150] The above specific time interval, first threshold, and second threshold are merely exemplary and may be specified based on user input or the performance of the prediction model.
[0151] Training session data and training status data collected by the data collection unit (210) are provided to the data output unit (230).
[0152]
[0153] The data output unit (230) outputs parameter data to be used for machine learning of a prediction model from the training session data of the coach terminal (120) that planned the training session and the training status data of the player who participated in the training session.
[0154] The above parameter data can be represented as vector data having component values corresponding to multiple dimensions. The data calculation unit (230) can calculate one or more parameters.
[0155] Specifically, the data output unit (230) can output at least one vector data among condition parameter data, exercise parameter data, and pain parameter data based on information included in training session data and training status data. The items of individual parameters are defined in advance.
[0156] Condition parameter data may include some or all of the condition-related information entered by the player terminal (110) as vector values.
[0157] In one example, the data output unit (230) obtains condition parameter data (X) of a player participating in a training session on day t through the following mathematical formula. CO t ) can be produced.
[0158] [Mathematical Formula 3]
[0159]
[0160] Here, CO Fatigue t , CO Mood t , CO Muscle t , SO SleepDuration t , CO SLeepQuality t, CO Stress t is condition information input by the player terminal (110), representing the fatigue level felt by the player on day t, the mood felt by the player, the muscle condition felt by the player, the time of sleep on the previous day, the quality of sleep felt by the player, and the stress level felt by the player, respectively. If the time window is the last 28 days, t can be expressed as a number from 1 to 28.
[0161] Additionally, the exercise parameter data may include some or all of the exercise load information input by the athlete terminal (110) as vector values.
[0162] In one example, the data output unit (230) provides exercise parameter data (X) of a player participating in the s-th training session on day t through the following mathematical formula. TL t, s ) can be produced (s is a natural number).
[0163] [Mathematical Formula 4]
[0164]
[0165] Here, TL satisfaction t,s , TL RPE t,s , TL Duration t,s is exercise load information input by the athlete terminal (110), representing the exercise satisfaction level felt by the athlete participating in the sth training session on day t, the athlete's RPE level, and the exercise time in the corresponding training session, respectively.
[0166] Additionally, the pain parameter data may include some or all of the pain information input by the player terminal (110) as vector values.
[0167] In one example, the data output unit (230) calculates pain parameter data (X) of a player participating in a training session on day t through the following mathematical formula. PA t ) can be produced.
[0168] [Mathematical Formula 5]
[0169]
[0170] Here, PA Count t , PA Head t , PA Torso t , PA Arm t , PA Leg t Pain information input by the player terminal (110) represents the total number of pains perceived by the player participating in the training session up to day t in a specific time interval, the cumulative number of pains perceived by the player in the head area up to day t, the cumulative number of pains perceived by the player in the torso area up to day t, the cumulative number of pains perceived by the player in the arm area up to day t, and the cumulative number of pains perceived by the player in the leg area up to day t, respectively.
[0171] It represents the exercise satisfaction level, the athlete's perceived RPE level, and the exercise time during the corresponding training session, respectively.
[0172] In various embodiments of the present application, the data calculation unit (230) may calculate a first aggregated parameter data that aggregates the coach's RIE and the player's RPE for the sth training session on day t, and / or calculate a second aggregated parameter data that aggregates the player's accumulated fatigue and accumulated physical strength on day t.
[0173] The first integrated parameter data represents the first integrated parameter that simultaneously defines the coach's RIE and the player's RPE for the sth training session (TL) on day t.
[0174] The above data calculation unit (230) uses the following mathematical formula to obtain the first integrated parameter (Y TL t,s ) can be produced.
[0175] [Mathematical Formula 6]
[0176]
[0177] Here, TL onehotRIE t,s represents the value of the first valid label data, and TL RIE t,s represents the value of the coach's RIE for the s-th training session on day t. As previously mentioned, TL RPE t,s represents the player's RPE level.
[0178] The above data calculation unit (230) uses the following mathematical formula to obtain the second integrated parameter (Z TL t ) can be produced.
[0179] [Mathematical Formula 7]
[0180]
[0181] Here, TL onehotATL t represents the value of the second valid label data, and TL onehotCTL t represents the value of the third valid label data.
[0182] The above data output unit (230) can transmit the calculated condition parameter, pain parameter, exercise parameter, first integrated parameter, and second integrated parameter to the model learning unit (250). The transmitted parameters are used to train the prediction model.
[0183]
[0184] The model learning unit (250) is configured to learn a model network designed to predict the player's DIP, which is the difference between the coach's RIE and the player's RPE that participated in the training session prior to the training session. As a result, the learned prediction model can accurately calculate the predicted value of the player's DIP when inputting the training intensity, which was pre-intended by the coach before performing the training session on day t+1, and the player's pre-condition information and exercise information obtained after day t.
[0185] The above prediction model is trained to predict the athlete's DIP for a training session to be conducted at a specific training intensity by using the athlete's overall condition as the athlete approaches the sth training session on day t, the coach's RIE for the training session, the perceived difference between the coach's RIE and the athlete's RPE, the athlete's accumulated pain, and various exercise levels.
[0186] In some embodiments, the prediction model may be trained through a machine learning process to infer potential correlations between sample training session data of the coach terminal (120) and sample training status data of the player terminal (110) to produce a prediction result of the DIP of the player participating in the prediction target training session provided by the input training session data.
[0187] The prediction model generated by the above-mentioned model generation device (200) is trained using only data collected through an app on a mobile device installed on the athlete terminal (110), instead of using various external loads for model training, such as GPS data from a wearable device worn by the athlete during training, heart rate, exercise fitness information, smartwatch data, and other supplementary data with spatiotemporal constraints on collection. That is, the difficulty of data collection and resource consumption for generating the prediction model are much lower.
[0188] In addition, the prediction model generated by the model generation device (200) can predict the player's RPE in advance before participating in the training session, instead of predicting the player's RPE after training using the player's movements and fitness information during training. That is, through the prediction model, it is possible to take pre-measures for the player participating in the training session.
[0189] In addition, the prediction model generated by the above-mentioned model generation device (200) provides prediction results based on newly defined indicators to help coaches and players intuitively understand.
[0190] In this way, the above prediction model can support a coach's decision-making regarding a player participating in a training session by deriving quantified prediction indicators before the training session proceeds based on minimal data collection.
[0191] The operation of the above-mentioned model generation device (200) will be described in more detail with reference to FIGS. 7 to 9 below.
[0192]
[0193] It will be apparent to a person skilled in the art that the above model generation device (200) may include other components not described herein to implement the embodiments. For example, the model generation device (200) may include other hardware elements necessary for the operation described herein, such as an input device for data entry and an output device for printing or other data display, and other components.
[0194]
[0195] A method for generating a machine learning-based prediction model according to another aspect of the present application (hereinafter, model generation method) can be performed by the model generation device (200) of FIG. 6.
[0196] FIG. 7 is a flowchart of a method for generating a machine learning-based prediction model according to another aspect of the present application.
[0197] Referring to FIG. 7, the model generation method comprises the step (S100) of obtaining a set of sample training session data of a coach for a plurality of sample training sessions from a coach terminal (120) during a fixed time window; and the step (S200) of obtaining a set of sample training status data of a player who participated in at least one of the plurality of sample training sessions during the fixed time window from a player terminal (110).
[0198] In the above model generation method, a constant time window is a recent time interval based on the training point, and is a time interval longer than a preset specific time. In some embodiments, the specific time interval may be 20 days or longer. Also, in some embodiments, it may be 25 to 30 days or 25 to 31 days. Also, in some embodiments, the specific time interval may be approximately 28 days.
[0199] Below, for clarity of explanation, the model generation method is described in more detail using embodiments in which a fixed time window is the most recent 28 days from the training date.
[0200] In the above step (S100), the plurality of sample training sessions are training sessions that have been conducted over the past 28 days and are used for learning.
[0201] The data obtained in the above steps (S100, S200) is data related to the condition of the athlete collected on the morning of the day of the training to predict the DIP, and this data collection triggers the prediction of the athlete's DIP for the first training session of day t.
[0202] Each sample training session data within the set of sample training session data above is data for the s-th training session on date t, and may include the RIE intended by the coach for the corresponding sample training session. Each training session data describes a training session to be performed on date t. Multiple training sessions may be conducted on the same date.
[0203] The above sample training session data includes identification information of the sample training session that identifies the sample training session, date information (t) of the sample training session, sequence number information (s) of the sample training session in the sample training program, and RIE information of the coach conducting or designing the sample training session. In some embodiments, the training session data may further include location information where the s-th training session on date t will be conducted and / or information on the participants of the training session. As such training session data has been described above with reference to FIG. 2, a detailed description is omitted.
[0204] The above set of sample training status data consists of sample training status data of athletes belonging to a certain time window based on date t.
[0205] Let us assume a case where a player provides sample training session data for the past 28 days based on date t. If the player participates in n (n is a natural number) sample training sessions for the past 28 days based on date t, the set of the player's sample training status data in step (S200) consists of the player's sample training status data for each of the n sample training sessions. The player may participate in multiple training sessions on the same day. Then, the set of sample training status data consists of the latest sample training status data on date t, i.e., the sample training status data for that day, and a series of past sample training status data generated from day t-28 to day t-1.
[0206] In the set of sample training status data above, the sample training status data for the day at date t of the sample training session used to predict the athlete's DIP includes condition information and pain information of the athlete who participated in the sample training session conducted on date t.
[0207] In addition, among the series of past sample training status data of a player in the set of sample training status data above, each past sample training status data includes condition information, pain information, and exercise load information of a player who participated in a sample training session conducted on each past date (e.g., t-28, .., t-1) within the time window period.
[0208] As the training status data and the process of acquiring them have been described above with reference to Fig. 3, a detailed explanation is omitted.
[0209] Since a set of sample training status data of a player over the past 28 days, each containing such information, was obtained in the above step (S200), the obtained set of sample training status data of a player includes the player's condition information and pain information entered into the player terminal (110) on the day of the specific training session in which the player participated; and the player's exercise load information entered into the player terminal (110) prior to the day of the specific training session.
[0210] Additionally, the model generation method comprises the step (S300) of calculating parameter data of a player for each of at least one sample training session in which the player participated, based on sample training status data of the player participating in the sample training session and the corresponding sample training session data.
[0211] In various embodiments of the present application, the step (S300) of calculating the parameter data of the player comprises condition parameter data (X) of a player participating in a training session on day t, which belongs to a certain time window. CO t Step of calculating ); exercise parameter data (X) of an athlete participating in the s-th training session on day t. TL t, s A step of calculating ); pain parameter data (X) of an athlete participating in a training session on day t PA tA step of calculating ); the first aggregated parameter data (Y) which aggregates the coach's RIE and the athlete's RPE for the s-th training session on day t. TL t,s A step of calculating ); and second integrated parameter data (Z) integrating the player's accumulated fatigue and accumulated physical strength on day t. TL t It may include a step of calculating ).
[0212] The parameter data of the above-mentioned athlete is the condition parameter data (X) of an athlete participating in a training session on day t, which falls within a certain time window. CO t Exercise parameter data of an athlete participating in the s-th training session on day t (X TL t, s Pain parameter data of athletes participating in training sessions on day t (X PA t ); First aggregated parameter data (Y TL t,s ); and the second integrated parameter data (Z) integrating the player's accumulated fatigue and accumulated physical strength on day t. L t Includes ).
[0213] The process of calculating the parameter data of the above-mentioned player is performed by the data calculation unit (230), and as previously described with reference to the above mathematical formulas 1 to 6, a detailed explanation is omitted.
[0214] Additionally, the model generation method comprises the step (S400) of generating a training data set of the player based on at least one of the coach's sample training session data for the at least one sample training session, the player's training status data, and parameter data.
[0215] Each training data within the above training data set consists of multiple input variables. The input variables are calculated based on sample training session data, sample training status data, and / or player parameter data for the sample training session. The model learning unit (250) can prepare a training data set by generating training data including multiple input variables based on at least one of the data of the data collection unit (210) and the data of the data calculation unit (230) (S400).
[0216] The step of generating training data to prepare the above training data set (S400) may include: a step of calculating a first input variable of a player based on a preset zero vector, condition information within sample training session data and sample training state data; a step of calculating a second input variable of a player based on the coach's RIE within the sample training session data; a step of calculating a third input variable of a player based on the player's condition information, exercise load information, and pain information within a series of sample training state data during the above time window; a step of calculating a fourth input variable of a player based on the coach's RIE for each sample training session within the sample training session data during the above time window and the player's RPE within the sample training state data during the above time window; and a step of calculating a fifth input variable of a player based on the player's accumulated fatigue and accumulated physical strength information within the player's sample training state data during the above time window.
[0217] The above zero vector is the vector described in mathematical formula 9 below.
[0218] In various embodiments of the present application, a plurality of input variables may include one or more of a first input variable, a second input variable, a third input variable, a fourth input variable, and a fifth input variable for each date t in which a sample training session occurs.
[0219] The first input variable is calculated by collecting various data of the athlete that occurs from the moment the athlete wakes up in the morning on day t until immediately before the s-th training session on day t. The first input variable includes the athlete's condition information collected after waking up, and, if multiple training sessions are scheduled on day t, exercise load information from the previous session. In some embodiments, the first input variable represents a value based on the athlete's condition on the day of the sample training session and the athlete's exercise load immediately before that day. In one example, if three sample training sessions are scheduled on day t, the first input variable (I Cond / TL t,s ) can be expressed through the following mathematical formula.
[0220] [Mathematical Formula 8]
[0221]
[0222] [Mathematical Formula 9]
[0223]
[0224] X in mathematical formula 9 TL 0 is a zero vector used to fix the dimension size when configuring the input of an AI model. The value of the zero vector can be predefined.
[0225] The first input variable above is set to a fixed input format by incorporating zero padding, so that it can be used to individually analyze multiple sample training sessions planned for a specific day.
[0226] The second input variable represents the RIE (i.e., RIE) that the coach has planned in advance for the s-th sample training session on day t. The second input variable is determined from the coach's sample training session data. In one example, the second input variable (TL RIE t,s ) can be expressed through the following mathematical formula.
[0227] [Mathematical Formula 10]
[0228]
[0229] The model learning unit (250) can generate a prediction model that improves the prediction accuracy of DIP by utilizing only app-based AM data through the second input variable. By using the prediction model generated in this way, DIP can be analyzed by providing a more specific interpretation for comparing RIE and RPE. In particular, when predicting a player's DIP or future exercise load, the model learning unit (250) can generate a prediction model that improves the prediction accuracy of DIP without relying on additional data dimensions, such as data from a smartwatch, biosensor, or other wearable device other than the player terminal (110).
[0230] The third input variable supports analysis of a player participating in a sample training session on date t by providing a series of past ASRM data over the past 28 days, including condition information, exercise load information, and pain information describing the player's past condition state over the past 28 days. In some embodiments, the third input variable may represent a set of the player's sample training state data during the aforementioned fixed time window. The third input variable is expressed in the form of time series data. The third input variable utilizes the player's sample training state data in the form of raw data.
[0231] In one example, the above third input variable (I ASRM ) can be expressed by the following mathematical formula.
[0232] [Mathematical Formula 11]
[0233]
[0234] The model learning unit (250) can discover potential characteristics of a player participating in a sample training session with RIE without complex data processing procedures through a third input variable.
[0235] The fourth input variable is the first integration parameter (Y TL t,s Using ), the coach's RIE and the player's RPE for each sample training session over the past 28 days are represented in a time series format. In some embodiments, the fourth input variable represents a value based on the RIE intended by the coach for a plurality of sample training sessions during the constant time window and the exercise intensity of the player participating in the sample training session, and the fourth input variable may be expressed in the form of time series data.
[0236] In one example, if three sample training sessions are scheduled on date t, the fourth input variable (I RIE / RPE t ) can be expressed by the following mathematical formula.
[0237] [Mathematical Formula 12]
[0238]
[0239] The model learning unit (250) can pattern the discrepancy between the RIE intended by the coach and the exercise intensity perceived by the athlete over the past 28 days through the fourth input variable.
[0240] The fifth input variable provides hints regarding the player's accumulated fatigue and accumulated stamina over the past 28 days, thereby supporting analysis of the player participating in the training session on day t. In some embodiments, the fifth input variable represents a value based on the player's accumulated fatigue and accumulated stamina during the constant time window.
[0241] In one example, the above fifth input variable (I ATL / CTL t ) is expressed by the following mathematical formula.
[0242] [Mathematical Formula 13]
[0243]
[0244] Additionally, the method for generating the model includes the step (S500) of training the prediction model using the training data set of the player so that the prediction model predicts the DIP of a player participating in a specific training session having the coach's RIE.
[0245] FIG. 8 is an exemplary diagram of a neural network architecture of a prediction model according to various embodiments of the present application.
[0246] Referring to FIG. 8, the model learning unit (250) can learn a prediction model having a pre-designed neural network architecture of FIG. 8 (S500). The model learning unit (250) can learn the prediction model by sequentially inputting each training data within the training data set and updating the model parameters of the prediction model based on the predicted values of each player's DIP.
[0247] The above prediction model may include: a plurality of embedding layers that each embedding the plurality of input variables; a plurality of encoders that each receive and encode the processing results of some of the embedding layers among the plurality of embedding layers; a plurality of decoders that each receive and decode the outputs of the plurality of encoders; a first inference block that receives and performs calculations on the processing results of other some of the embedding layers among the plurality of embedding layers and the processing results of some of the decoders among the plurality of decoders; and a second inference block that receives and performs calculations on the intermediate inference result of the first inference block, the processing result of another some of the embedding layers among the plurality of embedding layers, and the processing result of the remaining decoders among the plurality of decoders to calculate the predicted value of the DIP of the player who provided the training data.
[0248] In various embodiments of the present application, the prediction model comprises: a first embedding layer (511) for embedding the first input variable; a second embedding layer (512) for embedding the second input variable; a third embedding layer (513) for embedding the third input variable; a fourth embedding layer (514) for embedding the fourth input variable; and a fifth embedding layer (515) for embedding the fifth input variable.
[0249] The embedding layers (511 to 515) are configured to convert the input data into a one-dimensional embedding vector or a two-dimensional information tensor through an embedding processing operation that quantifies the information contained in the input data.
[0250] The processing result of the first embedding layer (511) can be transmitted to the inference block (560) of the prediction model, and the processing result of the second embedding layer (513) can be transmitted to the inference block (580) of the prediction model.
[0251] In various embodiments of the present application, the prediction model may be further configured to add a first classification token for the third input variable and a first position encoding vector for the third input variable to the processing result of the third embedding layer (513) before transmitting the processing result of the third embedding layer to the encoder.
[0252] The model training unit (250) can configure the prediction model so that a first classification token is added for the third input variable. When the third input variable is embedding processed, the prediction model is configured to add a first classification token, which is pre-set for the third input variable, to the embedding processing result of the third embedding layer 513.
[0253] The first classification token is a CLS token for the third input variable. The first classification token has a value representing the entire sequence at the beginning of the sequence data corresponding to the time series data. As previously mentioned, since the third input variable represents the player's ASRM data, the CLS token may be a value representing the player's ASRM data. That is, the first classification token can be used to identify that the sequence data containing the first classification token is the result of processing the third input variable. In some embodiments, the first classification token may be added at the beginning of the embedding processing result of the third input variable (e.g., sequence data).
[0254] In the above example, when the third input variable, which consists of time series data over the last 28 days, is embedding processed, it is represented as sequence data having 28 time points, such as {x1, .., x28}. The prediction model can generate sequence data having 29 time points, such as {CLS, x1, .., x28}, by adding a first classification token corresponding to the third input variable to the beginning of the sequence data.
[0255] Additionally, the model learning unit (250) can determine a first position encoding vector for the third input variable based on the value of the constant time window, i.e., the last 28 days, and set the prediction model so that the determined first position encoding vector is added. The prediction model is configured to add the first position encoding vector, which is preset for the third input variable, to the embedding processing result of the third embedding layer 513 when the third input variable is embedding processed.
[0256] As described above, the third input variable, which is time series data for the last 28 days, has various attributes such as condition information for each date. If there is no unique location information pointing to each date, the transformer of the prediction model can process the time series data regardless of the order of the dates. To prevent the third input variable from being processed regardless of the order of the dates in this way, the prediction model combines a first location encoding vector, which consists of unique location information for each date, with the third input variable, thereby ensuring that the data input to the transformer does not lose information regarding the order of the dates.
[0257] In this way, the dimension of the first position encoding vector is determined by relying on a preset constant time window, such as the last 28 days.
[0258] In one example, the prediction model can be converted into a form such as {x1+p1, x2+p2, .., x28+p28} by adding a first position encoding vector that is preset for the third input variable. Here, p1 to p28 are position information for each time point. In some embodiments, when the first position encoding vector is added, the time series data produced in the embedding layer (513) can be converted into a tensor form consisting of the first position encoding vector.
[0259] Additionally, the prediction model may be further configured to add a second classification token for the fourth input variable and a second position encoding vector for the fourth input variable to the processing result of the fourth embedding layer before transmitting the processing result of the fourth embedding layer (514) to the encoder.
[0260] Additionally, the prediction model may be further configured to add a third classification token for the fifth input variable and a position encoding vector for the fifth input variable to the processing result of the fifth embedding layer before transmitting the processing result of the fifth embedding layer (515) to the encoder.
[0261] Since the prediction model adding classification tokens and location encoding vectors to the processing results of the fourth embedding layer (514) and the fifth embedding layer (515) is similar to adding classification tokens and location encoding vectors to the processing results of the third embedding layer (513), the differences will be explained in detail.
[0262] The model training unit (250) can set the prediction model such that a fourth and fifth-1 classification token is added to the fourth and fifth input variables. When the fourth and fifth input variables are embedding processed, the prediction model is configured to add a fourth and fifth-1 classification token, which is pre-set for the fourth and fifth input variables, to the embedding processing result of the fourth and fifth embedding layers (514, 515).
[0263] The above-mentioned 4th and 5-1st classification tokens are CLS tokens for the 4th input variable. The above-mentioned 4th and 5-1st classification tokens have a value representing the entire sequence at the beginning of the sequence data corresponding to the time series data. As previously mentioned, since the 4th input variable represents the coach's RIE and the player's RPE for the sample training session, the CLS token for the 4th input variable may be a value representing the coach's RIE and the player's RPE. Additionally, as previously mentioned, since the 5th input variable represents the cumulative fatigue and accumulated stamina of the player participating in the sample training session, the CLS token for the 5th input variable may be a value representing the player's cumulative fatigue and accumulated stamina. That is, the 4th and 5-1st classification tokens can be used to identify that the sequence data containing the above-mentioned 4th and 5-1st classification tokens is the result of processing the 4th and 5th input variables. In some embodiments, the above-mentioned 4th and 5-1st classification tokens may be added at the beginning of the embedding processing result (e.g., sequence data) of the 4th and 5th input variables.
[0264] Additionally, the model learning unit (250) can determine the fourth and fifth-1st position encoding vectors for the fourth and fifth input variables based on the values of the constant time window, i.e., the last 28 days, and set the prediction model so that the determined fourth and fifth-1st position encoding vectors are added. When the fourth and fifth input variables are embedding processed, the prediction model is configured to add the fourth and fifth-1st position encoding vectors, which are pre-set for the fourth and fifth input variables, to the embedding processing results of the fourth and fifth embedding layers (514, 515). The form in which the position encoding vectors are added may be in the form of a tensor.
[0265] In some embodiments, the prediction model may be further configured to sequentially combine a 4-1 classification token and a 4-1 position encoding vector corresponding to a 4th input variable with the embedding processing result of the 4th embedding layer 514 as shown in FIG. 8, and sequentially combine a 5-1 classification token and a 5-1 position encoding vector corresponding to a 5th input variable with the embedding processing result of the 5th embedding layer 515.
[0266] In addition, the above prediction model has a Transformer architecture with an encoder / decoder that processes the player's daily physical and psychological states over the past 28 days as a single token. Since the third, fourth, and fifth input variables are time-series data based on a 28-day time window, the prediction model is suitable for applying the self-attention mechanism of the Transformer architecture.
[0267] Specifically, the prediction model comprises: a first encoder (531) that receives the processing result of the third embedding layer (513) and performs encoding; a first decoder (541) that receives the processing result of the first encoder (531) and performs decoding; a second encoder (532) that receives the processing result of the fourth embedding layer (514) and performs encoding; a second decoder (542) that receives the processing result of the second encoder (532) and performs decoding; a third encoder (533) that receives the processing result of the fifth embedding layer (515) and performs encoding; and a third decoder (543) that receives the processing result of the third encoder (533) and performs encoding.
[0268] The encoders (531 to 533) and decoders (541 to 543) are parts that constitute the transformer architecture.
[0269] Transformer encoders (531 to 533) can be implemented by stacking multiple encoder layers. The encoder layers may consist of self-attention and feed-forward layers. Self-attention is used to determine how each piece of information (e.g., words) constituting the input data is related to one another, and it calculates weights on its own to determine how each piece of information influences one another.
[0270] The embedding vector output from the embedding layer (513 to 514) is input to the first encoding layer of the corresponding encoder (531 to 533).
[0271] The encoder learns the relationships between the information represented by the input data through a Multi-head Self-Attention mechanism.
[0272] For example, the first encoder (531) learns the relationships between the player's ASRM data over the past 28 days. In this process, more weight is given to the player's ASRM data that is relatively more important for predicting the player's DIP among all the player's ASRM data over the past 28 days, thereby learning the ability of the prediction model to predict DIP using web-based ASRM data without additional data support from a separate wearable device.
[0273] Additionally, the second encoder (532) learns the relationship between the combination of the coach's RIE and the player's RPE over the past 28 days. In this process, more weight is given to the combination of the coach's RIE and the player's RPE that is relatively more important for predicting the player's DIP among all the combinations of the coach's RIE and the player's RPE over the past 28 days, thereby allowing the prediction model to learn the ability to predict DIP using the web-based coach's RIE and player's RPE without additional data support from a separate wearable device.
[0274] Additionally, the third encoder (533) learns the relationship between the combination of the player's accumulated fatigue and accumulated physical strength over the past 28 days. In this process, more weight is given to the combination of the player's accumulated fatigue and accumulated physical strength over the past 28 days, which is relatively more important for predicting the player's DIP among all combinations of the player's accumulated fatigue and accumulated physical strength over the past 28 days, so that the prediction model learns the ability to predict DIP using web-based player's accumulated fatigue and accumulated physical strength over the past 28 days without additional data support from a separate wearable device.
[0275] In some embodiments, the encoder layer may be composed of a multi-head attention layer and a fed forward layer.
[0276] Multi-head attention is divided into multiple attention heads, each capable of extracting specific information from a given sequence. If there are h attention heads, each token in the token embedding is analyzed into h different pieces of information. This analysis operation plays a role similar to filters in convolutional neural networks in image processing. The analysis into h different pieces of information is analogous to a case in a convolutional neural network where one filter processes a circle and another processes a square. A single attention head calculates a weight matrix and then calculates a weighted average for each token in the token embedding; here, the weight matrix can be referred to as the attention score. Through this process, a similarity score is calculated between each token included in the input embedding data. Tokens with high association receive a large score, while those with low association receive a small score. By increasing the score of the parts to be emphasized (attention) in this way, the attention mechanism is applied, and a self-attention operation is performed where scores are calculated for the same embedding data.
[0277] An attention head can be implemented by using token embeddings to create and compute query vectors (Q), key vectors (K), and value vectors (V) through a fully connected layer. A weight matrix is created using the dot product (or MatMul) of the query vector and key vector, this matrix is normalized, and a softmax function is applied to make the column sums equal to 1. Finally, the weight matrix is multiplied by the value vector to produce the final result. Stacking multiple of these attention heads can generate multi-head attention.
[0278] A feed-forward layer consists of multiple fully connected layers. For example, a feed-forward layer can consist of two fully connected layers.
[0279] In the embodiments, the input embedding data for which a similarity score is calculated through the attention mechanism may be embedding data input to the encoder (511 to 513), and may be embedding data including a classification token and a location embedding vector.
[0280] The decoders (541 to 543) include a Gated Recurrent Unit (GRU) and can be configured to have the same structure and function.
[0281] Specifically, the decoders (541 to 543) receive the outputs of the corresponding encoders (531, 532, 533). The output of each encoder (531 to 533) may be a tensor formed as a result of encoding information for each point in time of the time series data.
[0282] The GRU of the decoder (541 to 543) sequentially processes the time points of the corresponding time series data and updates the hidden state at each time point. In this process, the time-point information of the input time series data is combined to generate a hidden state vector that summarizes the information up to the last time point of the time series. That is, the decoder (541 to 543) having the GRU outputs a hidden state vector that reflects the corresponding information of each time point, taking into account the temporal dependency of the time series data. This hidden state is a vector that summarizes the characteristics of the time series data and contains information for the final prediction of each time series data.
[0283] The above decoders (541 to 543) restore time series data according to the third to fifth input variables into a hidden state vector suitable for predicting DIP.
[0284] For example, the first decoder (541) updates the hidden state for each day based on the embedding results of the player's ASRM data for the last 28 days, and in this process, synthesizes the player's daily ASRM data input to finally generate a hidden state vector that summarizes the ASRM data up to the last day of the time series.
[0285] The second decoder (542) updates the hidden state for each day based on the embedding results of the combination of the coach's RIE and the player's RPE for the last 28 days, and in this process, synthesizes the input combination of the coach's RIE and the player's RPE for each day to finally generate a hidden state vector summarizing the combination of the coach's RIE and the player's RPE for the last 28 days up to the last day of the time series.
[0286] The third decoder (543) updates the hidden state for each day based on the embedding result of the combination of the player's accumulated fatigue and accumulated stamina over the past 28 days, and in this process generates a hidden state vector summarizing the combination of the player's accumulated fatigue and accumulated stamina for each day that was input.
[0287] The processing result of the first decoder (541) is transmitted to the first inference block (560). The processing results of the second decoder (542) and the third decoder (543) are transmitted to the second inference block (580).
[0288] The first inference block (560) receives the processing result of the first decoder (541) and the processing result of the first embedding layer (511) as input, and processes them to produce an intermediate inference result. The first inference block (560) has a hidden state vector (h) describing the state of the athlete on the training day t. COND / TL t, s ) and the hidden state vector (h) describing the player's past state ASRM- t It outputs an intermediate inference result that enriches features for predicting DIP by combining ).
[0289] The second inference block (580) receives the processing result of the second decoder (542), the processing result of the third decoder (543), the processing result of the first inference block (580), and the processing result of the second embedding layer (512), and processes them to calculate the predicted value of the player's DIP.
[0290] The first inference block (560) and the second inference block (580) each include a fully connected layer. Additionally, in some embodiments, the first inference block (560) and the second inference block (580) may be configured based further on an activation layer, dropout, and normalization. As a result, the embedded player status information is effectively integrated.
[0291] A fully connected layer is a neural network layer in which both input and output nodes are connected, and it calculates the final output by multiplying each input by a weight and adding them together.
[0292] The activation layer may include functions (e.g., ReLU, Sigmoid) that apply non-linear transformations to help the model learn complex patterns.
[0293] The Dropout layer is configured to perform a regularization operation that prevents overfitting by randomly deactivating some neurons during training.
[0294] The Normalization Layer transforms input data into a mean of 0 and a variance of 1 to increase learning stability and speed up convergence.
[0295] FIG. 9 is a detailed flowchart of the process of learning the prediction model according to various embodiments of the present application.
[0296] Referring to FIG. 9, the step of training the prediction model (S500) includes the steps of inputting training data into the prediction model to calculate the predicted value of the player's corresponding DIP (S511 to S580) and applying the calculated predicted value of the player's DIP to a loss function for the prediction model that is pre-set to adjust the model parameters of the prediction model (S590).
[0297] Specifically, the step of inputting training data into a prediction model in the above step (S500) to calculate the predicted value of the player's corresponding DIP comprises, for each training data, a step of inputting a first input variable included in the individual training data into a first embedding layer (511) to calculate a processing result according to the embedding (S511); a step of inputting a second input variable included in the corresponding training data into a second embedding layer (512) to calculate a processing result according to the embedding (S512); a step of inputting a third input variable included in the corresponding training data into a third embedding layer (513) to calculate a processing result according to the embedding (S513); a step of inputting a fourth input variable included in the corresponding training data into a fourth embedding layer (514) to calculate a processing result according to the embedding (S514); and a step of inputting a fifth input variable included in the corresponding training data into a fifth embedding layer (515) to calculate a processing result according to the embedding (S515). A step (S531) of inputting the processing result of the third embedding layer (513) into the first encoder (531) to produce a processing result according to encoding; a step (S532) of inputting the processing result of the fourth embedding layer (514) into the second encoder (532) to produce a processing result according to encoding; a step (S533) of inputting the processing result of the fifth embedding layer (515) into the third encoder (533) to produce a processing result according to encoding; a step (S541) of inputting the processing result of the first encoder (531) into the first decoder (541) to restore the hidden state data of the third input variable for DIP prediction; a step (S542) of inputting the processing result of the second encoder (532) into the second decoder (542) to restore the hidden state data of the fourth input variable for DIP prediction; A step (S543) of inputting the processing result of the third encoder (533) into the third decoder (543) to restore it as hidden state data of the fifth input variable for DIP prediction;A step (S551) of concatenating the processing result of the first embedding layer (511) with the processing result of the first decoder (541) to input into the first inference block (560); a step (S560) of processing the combined processing result of the first embedding layer (511) and the processing result of the first decoder (541) in the first inference block (560) to produce an intermediate inference result for DIP prediction; a step (S571) of concatenating the processing result of the second embedding layer (512), the processing result of the first inference block (560), the processing result of the second decoder (542), and the processing result of the third decoder (543) to input into the second inference block (580); The method may include a step (S580) of predicting the DIP of a player who provided training data by performing computational processing in the second inference block (580) on the processing result of the combined second embedding layer (512), the processing result of the first inference block (560), the processing result of the second decoder (542), and the processing result of the third decoder (543).
[0298] In the above steps (S511 to S515), the embedding layer (511 to 515) can produce embedding data of the corresponding input variable as a processing result. The embedding processing result is a numerical representation of the context contained in the input variable. Through embedding processing, the information of the input variable is converted into a form that can be processed by an encoder / decoder.
[0299] In the above steps (S531 to S533), the encoder (531 to 533) can produce hidden state data representing potential features in the information of the input variable.
[0300] In the above steps (S541 to S543), the decoder (541 to 543) restores potential features within an input variable into a form suitable for predicting DIP by considering the input variable. The decoder (541 to 543) produces hidden state data suitable for DIP prediction.
[0301] In the above step (s560), the first inference block (560) infers a potential correlation between the first input variable reflected in the processing result of the first embedding layer (511) and the third input variable reflected in the processing result of the first decoder (541), and predicts an intermediate inference result suitable for predicting the player's DIP together with the remaining input variables.
[0302] In the above step (S580), the second inference block (580) infers a potential correlation between the processing result of the second embedding layer (512), the processing result of the first inference block (560), the processing result of the second decoder (542), and the processing result of the third decoder (543) to predict the DIP of the player who provided the input data. The second inference block (580) can calculate the s-th DIP on date t.
[0303] Additionally, in various embodiments of the present application, the step of inputting training data into a prediction model in step (S500) to calculate the predicted value of the player's corresponding DIP may further include: a step (S521) of adding a classification token for the third input variable to the processing result of the third embedding layer (513) and adding a position embedding vector for the third input variable to the processing result of the third embedding layer (513) to which the classification token has been added; a step (S522) of adding a classification token for the fourth input variable to the processing result of the fourth embedding layer (514) and adding a position embedding vector for the fourth input variable to the processing result of the fourth embedding layer (514) to which the classification token has been added; and a step (S523) of adding a classification token for the fifth input variable to the processing result of the fifth embedding layer (515) and adding a position embedding vector for the fifth input variable to the processing result of the fifth embedding layer (515) to which the classification token has been added.
[0304] The position embedding vector represents the date position included within a preset time window interval.
[0305] The loss function of the above prediction model may be a loss function for a type of regression model. Both the RIE and RPE inputs to the model are discrete values, but the output DIP is treated as a continuous value during the training phase.
[0306] In various embodiments of the present application, the loss function may take the form of a Mean Average Error (MAE) based on the error (σ) between the actual value and the predicted value of the prediction model (i.e., the actual DIP and the predicted DIP). In one example, the loss function may be expressed by the following mathematical formula.
[0307] [Mathematical Formula 14]
[0308]
[0309] Here, y and ^y represent the actual value and predicted value (e.g., actual DIP and predicted DIP), respectively. B represents the batch number, and y j i wa ^y j i are the actual and predicted values for the i-th observation of the j-th batch, respectively, and n j represents the number of observations in the j-th batch. The above prediction model is trained using actual DIPs as labels for training purposes. In Fig. 8, the error (σ DIP t, s ) represents the difference between the actual DIP and the predicted DIP of the athlete who participated in the sth training session on date t.
[0310] The step (S590) of adjusting the model parameters of the prediction model by applying the predicted value calculated in the above step (S500) to a loss function for the prediction model that is preset may be to adjust the model parameters of the prediction model such that the result of applying the loss function is reduced compared to before the adjustment.
[0311] The model training unit (250) can apply training data within the training data set to the prediction model and repeat steps (S511 to S590) so that the result of applying the loss function is minimized (S500).
[0312] In some embodiments, the loss function of the prediction model may be a loss function (CustomLoss) expressed by the following mathematical formula instead of mathematical formula 12.
[0313] [Mathematical Formula 15]
[0314]
[0315] Here, α and β are the weighting parameters of the loss function. L is the set of actual DIP values, and 1{y j i =l} is y j iIt is an indicator function that returns 1 if it is an element of L and 0 otherwise. According to the loss function of Equation 13, additional loss is assigned to the actual DIP range having the maximum MAE. The step of adjusting the model parameters of the prediction model by applying the prediction value calculated in the above step (S500) to the loss function for the preset prediction model; may include the step of adjusting α and β; and the step of updating the model parameters so that, due to the adjustment thereof, the prediction model reduces the mean error and simultaneously prevents performance degradation in the actual DIP range to improve robustness.
[0316] As a result, even if the overall MAE is improved, a distorted distribution of error (i.e., the difference between the actual value and the predicted value of the prediction model during the learning process) appears, such that the MAE for a specific range of the actual DIP becomes significantly higher because the distribution of the actual DIP is unbalanced, and thus the performance degradation of the prediction model for the range of the actual DIP is mitigated during the learning process of step (S500).
[0317] The prediction model trained in this way can accurately calculate the expected DIP of a player even if the player providing the input data falls within a low range of the actual DIP distribution.
[0318]
[0319] Figure 10 is the result of comparing the performance of the prediction model (DIPnet) trained by the method of Figure 9 with other machine learning models.
[0320] FIG. 10 shows the results of analyzing the Mean Absolute Error (MAE) and Mean Squared Error (MSE) of various regression and prediction models, and the MAE and MSE of a prediction model (DIPnet) trained to predict DIP according to the loss function according to various embodiments of the present application. In FIG. 10, DIPnet represents a prediction model trained by the method of FIG. 9 using the model architecture of FIG. 8. The models in FIG. 10 were trained with the same training data.
[0321] Referring to FIG. 10, a prediction model (DIPnet in FIG. 10) trained to predict DIP according to the loss function according to various embodiments of the present application ensures that DIP is predicted with excellent performance by having lower MAE and MSE compared to conventional prediction models or inference models known prior to the filing date of the present patent.
[0322] In particular, the excellent predictive performance of the prediction model of the present application is clearly supported by the greedy model, which is implemented by the model architecture. In FIG. 10, the Greedy model is a reference deep learning model designed based on the assumption that "the training intensity intended by the coach and the training intensity perceived by the athlete are always the same," and has a modified model architecture based on the model architecture of DIPnet in FIG. 9 to have a baseline that predicts DIP as '0'. The fact that the MAE and MSE of DIPnet have very good values when compared to the MAE and MSE of the Greedy model proves that it accurately predicts DIP by independently considering the training intensity intended by the coach and the training intensity perceived by the athlete.
[0323]
[0324] According to this model generation device and method, the prediction model is trained to predict a customized DIP for the corresponding player. This is because the training data set used to train the prediction model consists of training data provided by a specific player during a specific time window.
[0325] When predicting the DIP of multiple players, multiple prediction models are generated to predict the DIP of each player using a training data set for each player (S100 to S500).
[0326]
[0327] According to this model generation device and method, when a player providing input data participates in a training session having the RIP included in the input data, the expected DIP of the player can be predicted. The larger the player's DIP, the greater the discrepancy between the training intensity intended by the coach and the exercise intensity actually perceived by the player; consequently, the training effect on the player is low and the risk of injury to the player is high.
[0328] By utilizing the DIP prediction results according to the above model generation device and method, it is possible to provide an effective training solution that minimizes the difference between the coach's RIE and the player's RPE, thereby maximizing the player's training effectiveness and preventing the risk of injury to the player.
[0329]
[0330] When implementing an embodiment of the present invention using hardware, ASICs (application specific integrated circuits) or DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), etc. configured to perform the present invention may be provided in the processor of the present invention.
[0331] Meanwhile, the method described above can be written as a program executable on a computer and can be implemented on a general-purpose digital computer that operates said program using a computer-readable medium. Additionally, the structure of the data used in the method described above can be recorded on a computer-readable storage medium through various means. Program storage devices that may be used to describe a storage device containing executable computer code for performing various methods of the present invention should not be understood to include transient objects such as carrier waves or signals. The computer-readable storage medium includes storage media such as magnetic storage media (e.g., ROM, floppy disk, hard disk, etc.) and optical reading media (e.g., CD-ROM, DVD, etc.).
[0332] The embodiments described above are combinations of the components and features of the present invention in a specific form. Each component or feature should be considered optional unless otherwise explicitly stated. Each component or feature may be implemented in a form not combined with other components or features. Additionally, it is possible to construct embodiments of the present invention by combining some components and / or features. The order of operations described in the embodiments of the invention may be changed. Some components or features of one embodiment may be included in another embodiment, or may be replaced with corresponding components or features of another embodiment. It is obvious that embodiments may be constructed by combining claims that do not have an explicit citation relationship in the claims, or that they may be included as new claims through amendments made after filing.
[0333] It will be apparent to those skilled in the art that the present invention may be embodied in other forms without departing from the technical spirit and essential features of the present invention. Accordingly, the above embodiments should be considered in all illustrative aspects rather than as a limiting one. The scope of the present invention shall be determined by a reasonable interpretation of the appended claims and all possible variations within the equivalent scope of the present invention.
[0334] According to the apparatus and method for generating a machine learning-based prediction model that predicts the difference between the coach's intended training intensity for a training session and the perceived exercise intensity of an athlete participating in said training session, the predicted DIP allows coaches to accurately recognize each athlete's performance ability for training of a target intensity prior to training, and ultimately enables the provision of a scientific training program, thus promising industrial applicability in the field of training.
Claims
1. A method for generating a machine learning-based prediction model that predicts the difference between the coach's intended training intensity for a training session performed by a computing device and the perceived exercise intensity of a player participating in said training session, A step of acquiring a set of coach sample training session data for multiple sample training sessions from a coach terminal during a fixed time window; A step of obtaining a set of sample training status data of a player who participated in at least one of the plurality of sample training sessions during the aforementioned fixed time window from a player terminal; For each of the at least one sample training session in which the above-mentioned player participated, a step of calculating the player's parameter data for the sample training session based on the player's sample training status data and the corresponding sample training session data; A step of generating a training data set of the player based on the player's parameter data for at least one sample training session; - the player's training data set includes a plurality of input variables of the player for each sample training session; The method includes the step of training the prediction model using the training data set of the above-mentioned player so that the prediction model predicts the DIP of a player participating in a specific training session having the coach's RIE; and Characterized in that the above coach’s RIE is the target training intensity intended by the coach for the sample training session, the above athlete’s RPE is the exercise intensity perceived by the athlete participating in the sample training session, and the above athlete’s DIP is the difference between the coach’s RIE and the athlete’s RPE. method.
2. In paragraph 1, the above prediction model is, A plurality of embedding layers that each embedding process the above plurality of input variables; A plurality of encoders that receive the processing results of some of the embedding layers among the plurality of embedding layers and process each of them for encoding; A plurality of decoders that each receive and decode the outputs of the plurality of encoders; A first inference block that receives and processes the processing result of some other embedding layers among the plurality of embedding layers and the processing result of some decoders among the plurality of decoders; and It includes a second inference block that receives and processes the intermediate inference result of the first inference block, the processing result of another part of the embedding layer among the plurality of embedding layers, and the processing result of the remaining decoder among the plurality of decoders, and calculates the predicted value of the DIP of the player who provided the training data. The above first inference block and second inference block are characterized by including a fully connected layer. method.
3. In paragraph 1, the sample training session data includes identification information of the sample training session that identifies the sample training session, date information (t) of the sample training session, sequence number information (s) of the sample training session in the sample training program, and RIE information of the coach conducting or designing the sample training session. The sample training status data of the above-mentioned athlete includes condition information, pain information, and exercise load information of the athlete participating in the sample training session, and The exercise load information of the above-mentioned athlete is characterized by including the RPE of the athlete who participated in the sample training session. method.
4. In paragraph 1, the step of calculating the parameter data of the player is, Condition parameter data (X) of an athlete participating in a training session on day t, which falls within a scheduled time window CO t Step of producing ); Exercise parameter data of an athlete participating in the s-th training session on day t (X TL t, s Step of producing ); Pain parameter data of an athlete participating in a training session on day t (X PA t Step of producing ); The first aggregated parameter data (Y) integrating the coach's RIE and the athlete's RPE for the s-th training session on day t TL t,s A step of calculating ); and Second integrated parameter data (Z) integrating the player's accumulated fatigue and accumulated physical strength on day t TL t Characterized by including a step of calculating ), method.
5. In paragraph 1, the step of generating the training data set of the player is, A step of calculating a first input variable of a player based on a preset zero vector, and condition information within sample training session data and sample training state data; A step of calculating a player's second input variable based on the coach's RIE within the above sample training session data; A step of calculating a third input variable of a player based on the player's condition information, exercise load information, and pain information within a series of sample training state data during the above-mentioned scheduled time window; A step of calculating a fourth input variable of a player based on the coach's RIE for each sample training session within the sample training session data during the above-mentioned fixed time window and the player's RPE within the sample training state data during the above-mentioned fixed time window; and A step of calculating a fifth input variable of a player based on the player's accumulated fatigue and accumulated physical strength information within the player's sample training state data during the above-mentioned scheduled time window; method.
6. In paragraph 5, the step of training the prediction model is, A step of inputting training data into a prediction model to calculate a predicted value of the player's corresponding DIP; and Characterized by including the step of adjusting the model parameters of the prediction model by applying the predicted value of the calculated player's DIP to a loss function for the prediction model that is preset. method.
7. In paragraph 6, the step of inputting the training data into a prediction model to calculate the predicted value of the player's corresponding DIP comprises, for each training data, A step of inputting a first input variable included in individual training data into a first embedding layer to produce a processing result according to the embedding; A step of inputting a second input variable included in the corresponding training data into a second embedding layer to produce a processing result based on the embedding; A step of inputting a third input variable included in the corresponding training data into a third embedding layer to produce a processing result based on the embedding; A step of inputting a fourth input variable included in the corresponding training data into a fourth embedding layer to produce a processing result based on the embedding; A step of inputting a fifth input variable included in the corresponding training data into a fifth embedding layer to produce a processing result based on the embedding; A step of inputting the processing result of the third embedding layer into the first encoder to produce a processing result according to encoding; A step of inputting the processing result of the above-mentioned fourth embedding layer into a second encoder to produce a processing result according to encoding; A step of inputting the processing result of the above-mentioned fifth embedding layer into a third encoder to produce a processing result according to encoding; A step of inputting the processing result of the first encoder into the first decoder to restore it as hidden state data of the third input variable for DIP prediction; A step of inputting the processing result of the second encoder into the second decoder to restore it as hidden state data of the fourth input variable for DIP prediction; A step of inputting the processing result of the third encoder into the third decoder to restore it as hidden state data of the fifth input variable for DIP prediction; A step of concatenating the processing result of the first embedding layer with the processing result of the first decoder to input into the first inference block; A step of generating an intermediate inference result for DIP prediction by computationally processing the processing result of the combined first embedding layer and the processing result of the first decoder in the first inference block; A step of concatenating the processing result of the second embedding layer, the processing result of the first inference block, the processing result of the second decoder, and the processing result of the third decoder to input into the second inference block; and The method is characterized by including a step of predicting the DIP of a player who provided training data by performing computational processing in the second inference block on the combined processing result of the second embedding layer, the processing result of the first inference block, the processing result of the second decoder, and the processing result of the third decoder. method.
8. In paragraph 6, the above loss function is expressed by the following mathematical formula, and [Mathematical Formula] Here, B represents the batch number, and y j i wa ^y j i are the actual and predicted values for the i-th observation of the j-th batch, respectively, and n j Characterized by representing the number of observations in the j-th batch, method.
9. A computer-readable recording medium having a program for performing a method of generating a machine learning-based predictive model that predicts the difference between the coach's intended training intensity for a training session according to any one of claims 1 to 8 and the perceived exercise intensity of a player participating in said training session.
10. An apparatus for generating a machine learning-based prediction model that predicts the difference between a coach's intended training intensity for a training session and a player's perceived exercise intensity participating in said training session, comprising a processor A data collection unit that acquires a set of sample training session data of a coach for a plurality of sample training sessions during a fixed time window from a coach terminal, and acquires a set of sample training status data of a player who participated in at least one of the plurality of sample training sessions during the fixed time window from a player terminal; A data calculation unit that, for each of at least one sample training session in which the above-mentioned player participated, calculates parameter data of the player for the sample training session based on sample training status data of the player participating in the sample training session and the corresponding sample training session data; and A model learning unit comprising: generating a training data set of the player based on the player's parameter data for at least one sample training session—the player's training data set including a plurality of input variables of the player for each sample training session—and training the prediction model using the player's training data set so that the prediction model predicts the DIP of the player participating in a specific training session having the coach's RIE. device.